diff --git a/main.cpp b/main.cpp index 3c493785..ad962c55 100644 --- a/main.cpp +++ b/main.cpp @@ -8,10 +8,11 @@ int main(int argc, char *argv[]) { cli.addArgument("dev", true); cli.addArgument("speed", true); if (!cli.hasArgument("dev")) { + piCout << "no device"; return 0; } PIString path = cli.argumentValue("dev"); - PISPI spi(path); + PISPI spi(path, 1000000); if (cli.hasArgument("speed")) spi.setSpeed(cli.argumentValue("speed").toInt()); piCout << "open" << spi.open(); piCout << "write" << spi.write(PIByteArray::fromHex("0000000000000000000000000000000000000000000000000000000000000000")); diff --git a/src_main/io/pispi.cpp b/src_main/io/pispi.cpp index 294b3883..3cb2177f 100644 --- a/src_main/io/pispi.cpp +++ b/src_main/io/pispi.cpp @@ -38,14 +38,14 @@ bool PISPI::openDevice() { #ifndef WINDOWS int ret = 0; PRIVATE->fd = ::open(path().dataAscii(), O_RDWR); - if (PRIVATE->fd < 0) return false; + if (PRIVATE->fd < 0) {piCoutObj << "can't open device";return false;} ret = ioctl(PRIVATE->fd, SPI_IOC_WR_MODE, &spi_mode); - if (ret == -1) return false; + if (ret == -1) {piCoutObj << "can't set spi write mode";return false;} ret = ioctl(PRIVATE->fd, SPI_IOC_WR_BITS_PER_WORD, &spi_bits); - if (ret == -1) return false; + if (ret == -1) {piCoutObj << "can't set bits per word";return false;} ret = ioctl(PRIVATE->fd, SPI_IOC_WR_MAX_SPEED_HZ, &spi_speed); - if (ret == -1) return false; - piCout << "SPI open" << path() << "speed:" << spi_speed/1000 << "KHz" << "mode" << spi_mode << "bits" << spi_bits; + if (ret == -1) {piCoutObj << "can't set max write speed hz";return false;} + piCoutObj << "SPI open" << path() << "speed:" << spi_speed/1000 << "KHz" << "mode" << spi_mode << "bits" << spi_bits; PRIVATE->spi_ioc_tr.delay_usecs = 0; PRIVATE->spi_ioc_tr.speed_hz = spi_speed; PRIVATE->spi_ioc_tr.bits_per_word = spi_bits; @@ -86,7 +86,7 @@ int PISPI::writeDevice(const void * data, int max_size) { memcpy(tx_buf.data(), data, max_size); int ret; ret = ioctl(PRIVATE->fd, SPI_IOC_MESSAGE(1), &PRIVATE->spi_ioc_tr); - if (ret < 1) {piCout << "init can't send spi message" << ret; return -1;} + if (ret < 1) {piCoutObj << "can't send spi message" << ret; return -1;} recv_buf.append(rx_buf); return max_size; }