I receive data from my rocket and I want to display the Altitude (absalt) on the OLED display, but I get nothing. The display is setup ok because I can display other info. (signal strength)
The received string looks like this:
-2.91,23.54,101359,2884,608,15896,-5033,651,-5033,13161
-2.83,23.55,101357,2960,540,15768,-4982,-579,-4982,13250
The command I am trying (among others) to do this with is:
sscanf(LoRa.read, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d", absalt, temp, realpressure, accelXraw, accelYraw, accelZraw, gXraw, gYraw, gZraw, timer);
But I can't even get past compiling.
Below is the entire sketch. I have left in all my failed attempts REM'ed out.
#include <SPI.h>
#include <LoRa.h>
#include "U8glib.h"
// #include <string.h>
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_DEV_0); // I2C / TWI
#define absalt
#define temp
#define realpressure
#define accelXraw
#define accelYraw
#define accelZraw
#define gXraw
#define gYraw
#define gZraw
#define timer
void setup() {
Serial.begin(115200);
// delay(10000); // I added this to give me time to open serial monitor.
while (!Serial);
Serial.println("LoRa Receiver");
if (!LoRa.begin(433E6)) {
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop() {
// try to parse packet
int packetSize = LoRa.parsePacket();
if (packetSize) {
// received a packet
Serial.print("Received packet '");
// read packet
while (LoRa.available()) {
Serial.print((char)LoRa.read());
}
// print RSSI of packet
Serial.print("' with RSSI ");
Serial.println(LoRa.packetRssi());
// Serial.println(subStr(LoRa.read(), ' ', 1));
// sscanf((char)LoRa.read(), "%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,]", absalt, temp, realpressure, accelXraw, accelYraw, accelZraw, gXraw, gYraw, gZraw, timer);
}
// Label received variables
//
// sscanf(LoRa.read, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d", absalt, temp, realpressure, accelXraw, accelYraw, accelZraw, gXraw, gYraw, gZraw, timer);
// sscanf(LoRa.read, "%[^,]", absalt);
// sscanf(LoRa.read, "%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,]", absalt);
u8g.firstPage();
do {
u8g.setFont(u8g_font_unifont);
u8g.drawStr( 0, 35, "Rssi = ");
u8g.setPrintPos(50, 35);
u8g.print(LoRa.packetRssi());
u8g.drawStr( 0, 55, "S/N = ");
u8g.setPrintPos(50, 55);
u8g.print(LoRa.packetSnr());
}
while( u8g.nextPage() );
}
If you could tell me what the line should look like that would be great. Please don't refer me to any web pages. I've scoured many so far. I am not very good at programming and have already spent days trying to work this out. Seriously - spell it out for me if you know the answer.
Many thanks.