I stumbled over theSX126x LoRa familyin a customer project. Most of the existing Arduino libraries for Semtech's SX127x family are unfortunately not working with this new generation LoRa chip. I found a usefull base library from Insight SIP which is based on the original Semtech SX126x libr...
The Bosch BMI270 6 Axis IMU (Inertial Measurement Unit) is well suited for use on the GIGA display, as it can provide precise acceleration and angular rate measurement. It also has on-chip motion-triggered interrupt features. We can use the IMU to control the display orientation to behave l...
A brief note:certificate verification using a certificate store requires accessing the flash memory. You’ll want to be sure nothing in any of your interrupt service routines touches flash, or you’ll see crashes when the certificate verification process is interrupted. This sounds obvious, but...
This is really simple, the instruction ISR() is a macro that tells the compiler that the following function is an Interrupt Service Routine. While ANALOG_COMP_vect is calledInterrupt Vectorand it tells the compiler which interrupt is associated to that routine. In this case it is the Analog ...
They take to much time to be run inside the interrupt. You can add 1-2 directly connected push buttons here if you want.The second function is ui_check_slow_encoder, which is intended for rotary encodes connected over I2C. This is the only key macro you should add there. As you see,...
The used IMU MPU6050 communicates using I2C and to keep the libraries happy I decided to stick with the default pins A4 (SDA) and A5 (SCL). I will connect the interrupt pin in case I will need it in the future. Nano supports interrupts on pins 2 and 3 only as can be seenhere. Th...
Whenever a new character arrives, the processor must interrupt whatever it was doing to handle it. This can be time-consuming. At 4,800 baud, for example, it takes the Arduino about two milliseconds to process a single character. While two milliseconds may not sound like much, consider that...
However, it means that the end-of-transmit event is not observed (and time-stamped) until os_runloop_once() is called. Optionally, you can configure the LMIC library to use interrupts. The interrupt handlers capture the time of the event. Actual processing is done the next time that os_...
Not a professional LED cube builder, this is how I did it, and this is my cube*/#include <SPI.h>// SPI Library used to clock data out to the shift registers#define latch_pin 44// can use any pin you want to latch the shift registers#define blank_pin 45// same, can use any ...
In your main body of code you will check for the “interrupt handler asked us to do stuff” flag, and do the appropriate stuff. Then you can go to sleep or do other processing. This works for systems which do not require “real time” processing, i.e.: you only have to get around...