static void hal_io_check() { uint8_t i; for (i = 0; i < NUM_DIO; ++i) { #ifdef ARDUINO if (dio_states[i] != digitalRead(pins.dio[i])) { #else if (dio_states[i] != pins.dio[i]) { #endif dio_states[i] = !dio_states[i]; if (dio_states[i]) radio_irq_handler(i); } } } // ----------------------------------------------------------------------------- // SPI #ifdef ARDUINO static const SPISettings settings(10E6, MSBFIRST, SPI_MODE0); #endif static void hal_spi_init () { #ifdef ARDUINO SPI.begin(); #endif } void hal_pin_nss (u1_t val) { #ifdef ARDUINO if (!val) SPI.beginTransaction(settings); else SPI.endTransaction(); //Serial.println(val?">>":"<<"); digitalWrite(pins.nss, val); #else pins.nss = val; #endif } // perform SPI transaction with radio u1_t hal_spi (u1_t out) { #ifdef ARDUINO u1_t res = SPI.transfer(out); #else u1_t res = device.write(out); #endif /* Serial.print(">"); Serial.print(out, HEX); Serial.print("<"); Serial.println(res, HEX); */ return res; }
static void hal_io_check() { uint8_t i; for (i = 0; i < NUM_DIO; ++i) { if (dio_states[i] != digitalRead(pins.dio[i])) { dio_states[i] = !dio_states[i]; if (dio_states[i]) radio_irq_handler(); } } }
static void hal_io_check() { uint8_t i; for (i = 0; i < NUM_DIO; ++i) { if (lmic_pins.dio[i] == LMIC_UNUSED_PIN) continue; if (interrupt_flags[i]) { interrupt_flags[i] = false; radio_irq_handler(i); } } }
static void hal_io_check() { uint8_t i; for (i = 0; i < NUM_DIO; ++i) { if (lmic_pins.dio[i] == LMIC_UNUSED_PIN) continue; if (dio_states[i] != digitalRead(lmic_pins.dio[i])) { dio_states[i] = !dio_states[i]; if (dio_states[i]) radio_irq_handler(i); } } }