uplink works
This commit is contained in:
@ -89,12 +89,13 @@ static void prepareTxFrame( uint8_t port )
|
||||
struct {
|
||||
uint16_t status;
|
||||
uint64_t addrs[NUM_OF_SENSORS];
|
||||
} msg;
|
||||
} __attribute__((packed)) msg;
|
||||
msg.status = ERR_START_UP;
|
||||
for (uint8_t i = 0; i < NUM_OF_SENSORS; i++) {
|
||||
msg.addrs[i] = sensors[i].addr;
|
||||
}
|
||||
appDataSize = sizeof(msg);
|
||||
Serial.printf("appDataSize: %ld\n\r", appDataSize);
|
||||
memcpy(&appData, (void*)&msg, appDataSize);
|
||||
display.drawString(1, 0, "Start up");
|
||||
Serial.println("Start up message send");
|
||||
@ -106,19 +107,22 @@ static void prepareTxFrame( uint8_t port )
|
||||
struct {
|
||||
uint64_t addr;
|
||||
int32_t value;
|
||||
} sensors[NUM_OF_SENSORS];
|
||||
} msg;
|
||||
} __attribute__((packed)) sensors[NUM_OF_SENSORS];
|
||||
} __attribute__((packed)) msg;
|
||||
msg.status = (DS18B20.getDS18Count() == NUM_OF_SENSORS) ? errorCode : errorCode | ERR_SENSOR_LOST;
|
||||
DS18B20.requestTemperatures();
|
||||
for (uint8_t i = 0; i < NUM_OF_SENSORS; i++) {
|
||||
msg.sensors[i].addr = sensors[i].addr;
|
||||
msg.sensors[i].value = DS18B20.getTemp((const uint8_t*)&(sensors[i].addr));
|
||||
Serial.printf("%d: %s: %016llx\n\r", i, sensors[i].label, sensors[i].addr);
|
||||
msg.sensors[i].value = DS18B20.getTemp(((const uint8_t*)(&(sensors[i].addr))));
|
||||
Serial.printf("v: %08x\n\r", msg.sensors[i].value);
|
||||
|
||||
float tempC = ((float)msg.sensors[i].value) / 128;
|
||||
Serial.printf("f: %.2f\n\r", tempC);
|
||||
char dispbuf[128];
|
||||
sprintf(dispbuf, "%s: %.2f °C", sensors[i].label, tempC);
|
||||
display.drawString(1, i * 17, dispbuf);
|
||||
Serial.printf("%d, %08x, %s, %.2f\n\r", sensors[i].index, sensors[i].addr, sensors[i].label, tempC);
|
||||
display.drawString(1, i * 16, dispbuf);
|
||||
Serial.printf("%d, %016llx, %s, %.2f\n\r", sensors[i].index, sensors[i].addr, sensors[i].label, tempC);
|
||||
}
|
||||
appDataSize = sizeof(msg);
|
||||
memcpy(&appData, (void*)&msg, appDataSize);
|
||||
@ -129,7 +133,7 @@ static void prepareTxFrame( uint8_t port )
|
||||
|
||||
errorCode = ERR_OK;
|
||||
} else {
|
||||
appDataSize = 1;
|
||||
appDataSize = 2;
|
||||
appData[0] = errorCode;
|
||||
}
|
||||
}
|
||||
@ -188,14 +192,16 @@ void productionSetup() {
|
||||
uint8_t cnt = DS18B20.getDS18Count();
|
||||
if (cnt != 4) {
|
||||
display.drawString(1, 0, "invalid number of sensors");
|
||||
Serial.println("invalid number of sensors");
|
||||
errorCode = ERR_INVALID_NUM_OF_SENSORS;
|
||||
} else {
|
||||
for (uint8_t i = 0; i < NUM_OF_SENSORS; i++) {
|
||||
sprintf(sensors[i].label, "Sens%d", i);
|
||||
DS18B20.getAddress((uint8_t*)&(sensors[i].addr), i);
|
||||
DS18B20.getAddress(((uint8_t*)(&(sensors[i].addr))), i);
|
||||
char buf[128];
|
||||
sprintf(buf, "%s: %08x", sensors[i].label, sensors[i].addr);
|
||||
display.drawString(1, i*16, buf);
|
||||
sprintf(buf, "%d: %s: %016llx", i, sensors[i].label, sensors[i].addr);
|
||||
Serial.println(buf);
|
||||
//display.drawString(1, i*16, buf);
|
||||
sensors[i].index = 0;
|
||||
}
|
||||
}
|
||||
|
35
snippets/decoding2.txt
Normal file
35
snippets/decoding2.txt
Normal file
@ -0,0 +1,35 @@
|
||||
0: Sens0: 000000006a4f8c28
|
||||
1: Sens1: 000000000ac31928
|
||||
2: Sens2: 000000006a863528
|
||||
3: Sens3: 00000000f611c728
|
||||
|
||||
|
||||
|
||||
struct {
|
||||
uint16_t status;
|
||||
uint64_t addrs[NUM_OF_SENSORS];
|
||||
} __attribute__((packed)) msg;
|
||||
|
||||
04 00 0000 3802 033C 288C 4F6A 0D00 0094 2819 C30A 0D00 00B4 2835 866A 0D00 00D4 28C7 11F6622001B8
|
||||
|
||||
0400 288C 4F6A 0D00 0094 2819 C30A 0D00 00B4 2835 866A 0D00 00D4 28C7 11F6 6220 01B8
|
||||
|
||||
|
||||
|
||||
struct {
|
||||
uint16_t status;
|
||||
struct {
|
||||
uint64_t addr;
|
||||
int32_t value;
|
||||
} __attribute__((packed)) sensors[NUM_OF_SENSORS];
|
||||
} __attribute__((packed)) msg;
|
||||
|
||||
0000
|
||||
288C 4F6A 0D00 0094
|
||||
9808 0000
|
||||
2819 C30A 0D00 00B4
|
||||
E008 0000
|
||||
2835 866A 0D00 00D4
|
||||
D008 0000
|
||||
28C7 11F6 6220 01B8
|
||||
9808 0000
|
Reference in New Issue
Block a user