trunk fmt
This commit is contained in:
+103
-111
@@ -4,8 +4,8 @@
|
||||
#include "../modules/Telemetry/Sensor/TelemetrySensor.h"
|
||||
#include "configuration.h"
|
||||
|
||||
#include <RAK-OneWireSerial.h>
|
||||
#include "concurrency/Periodic.h"
|
||||
#include <RAK-OneWireSerial.h>
|
||||
|
||||
using namespace concurrency;
|
||||
|
||||
@@ -27,165 +27,157 @@ static uint8_t provision = 0;
|
||||
|
||||
static void onewire_evt(const uint8_t pid, const uint8_t sid, const SNHUBAPI_EVT_E eid, uint8_t *msg, uint16_t len)
|
||||
{
|
||||
switch (eid)
|
||||
{
|
||||
case SNHUBAPI_EVT_RECV_REQ:
|
||||
case SNHUBAPI_EVT_RECV_RSP:
|
||||
break;
|
||||
switch (eid) {
|
||||
case SNHUBAPI_EVT_RECV_REQ:
|
||||
case SNHUBAPI_EVT_RECV_RSP:
|
||||
break;
|
||||
|
||||
case SNHUBAPI_EVT_QSEND:
|
||||
mySerial.write(msg, len);
|
||||
break;
|
||||
case SNHUBAPI_EVT_QSEND:
|
||||
mySerial.write(msg, len);
|
||||
break;
|
||||
|
||||
case SNHUBAPI_EVT_ADD_SID:
|
||||
// LOG_INFO("+ADD:SID:[%02x]\r\n", msg[0]);
|
||||
break;
|
||||
case SNHUBAPI_EVT_ADD_SID:
|
||||
// LOG_INFO("+ADD:SID:[%02x]\r\n", msg[0]);
|
||||
break;
|
||||
|
||||
case SNHUBAPI_EVT_ADD_PID:
|
||||
// LOG_INFO("+ADD:PID:[%02x]\r\n", msg[0]);
|
||||
case SNHUBAPI_EVT_ADD_PID:
|
||||
// LOG_INFO("+ADD:PID:[%02x]\r\n", msg[0]);
|
||||
#ifdef BOOT_DATA_REQ
|
||||
provision = msg[0];
|
||||
provision = msg[0];
|
||||
#endif
|
||||
break;
|
||||
break;
|
||||
|
||||
case SNHUBAPI_EVT_GET_INTV:
|
||||
break;
|
||||
case SNHUBAPI_EVT_GET_INTV:
|
||||
break;
|
||||
|
||||
case SNHUBAPI_EVT_GET_ENABLE:
|
||||
break;
|
||||
case SNHUBAPI_EVT_GET_ENABLE:
|
||||
break;
|
||||
|
||||
case SNHUBAPI_EVT_SDATA_REQ:
|
||||
case SNHUBAPI_EVT_SDATA_REQ:
|
||||
|
||||
// LOG_INFO("+EVT:PID[%02x],IPSO[%02x]\r\n",pid,msg[0]);
|
||||
// for( uint16_t i=1; i<len; i++)
|
||||
// {
|
||||
// LOG_INFO("%02x,", msg[i]);
|
||||
// }
|
||||
// LOG_INFO("\r\n");
|
||||
switch (msg[0])
|
||||
{
|
||||
case RAK_IPSO_CAPACITY:
|
||||
dc_prec = msg[1];
|
||||
if (dc_prec > 100)
|
||||
{
|
||||
dc_prec = 100;
|
||||
}
|
||||
break;
|
||||
case RAK_IPSO_DC_CURRENT:
|
||||
dc_cur = (msg[2] << 8) + msg[1];
|
||||
break;
|
||||
case RAK_IPSO_DC_VOLTAGE:
|
||||
dc_vol = (msg[2] << 8) + msg[1];
|
||||
dc_vol *= 10;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// LOG_INFO("+EVT:PID[%02x],IPSO[%02x]\r\n",pid,msg[0]);
|
||||
// for( uint16_t i=1; i<len; i++)
|
||||
// {
|
||||
// LOG_INFO("%02x,", msg[i]);
|
||||
// }
|
||||
// LOG_INFO("\r\n");
|
||||
switch (msg[0]) {
|
||||
case RAK_IPSO_CAPACITY:
|
||||
dc_prec = msg[1];
|
||||
if (dc_prec > 100) {
|
||||
dc_prec = 100;
|
||||
}
|
||||
break;
|
||||
case RAK_IPSO_DC_CURRENT:
|
||||
dc_cur = (msg[2] << 8) + msg[1];
|
||||
break;
|
||||
case RAK_IPSO_DC_VOLTAGE:
|
||||
dc_vol = (msg[2] << 8) + msg[1];
|
||||
dc_vol *= 10;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
case SNHUBAPI_EVT_REPORT:
|
||||
break;
|
||||
case SNHUBAPI_EVT_REPORT:
|
||||
|
||||
// LOG_INFO("+EVT:PID[%02x],IPSO[%02x]\r\n",pid,msg[0]);
|
||||
// for( uint16_t i=1; i<len; i++)
|
||||
// {
|
||||
// LOG_INFO("%02x,", msg[i]);
|
||||
// }
|
||||
// LOG_INFO("\r\n");
|
||||
// LOG_INFO("+EVT:PID[%02x],IPSO[%02x]\r\n",pid,msg[0]);
|
||||
// for( uint16_t i=1; i<len; i++)
|
||||
// {
|
||||
// LOG_INFO("%02x,", msg[i]);
|
||||
// }
|
||||
// LOG_INFO("\r\n");
|
||||
|
||||
switch (msg[0])
|
||||
{
|
||||
case RAK_IPSO_CAPACITY:
|
||||
dc_prec = msg[1];
|
||||
if (dc_prec > 100)
|
||||
{
|
||||
dc_prec = 100;
|
||||
}
|
||||
break;
|
||||
case RAK_IPSO_DC_CURRENT:
|
||||
dc_cur = (msg[1] << 8) + msg[2];
|
||||
break;
|
||||
case RAK_IPSO_DC_VOLTAGE:
|
||||
dc_vol = (msg[1] << 8) + msg[2];
|
||||
dc_vol *= 10;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
switch (msg[0]) {
|
||||
case RAK_IPSO_CAPACITY:
|
||||
dc_prec = msg[1];
|
||||
if (dc_prec > 100) {
|
||||
dc_prec = 100;
|
||||
}
|
||||
break;
|
||||
case RAK_IPSO_DC_CURRENT:
|
||||
dc_cur = (msg[1] << 8) + msg[2];
|
||||
break;
|
||||
case RAK_IPSO_DC_VOLTAGE:
|
||||
dc_vol = (msg[1] << 8) + msg[2];
|
||||
dc_vol *= 10;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
break;
|
||||
|
||||
case SNHUBAPI_EVT_CHKSUM_ERR:
|
||||
LOG_INFO("+ERR:CHKSUM\r\n");
|
||||
break;
|
||||
case SNHUBAPI_EVT_CHKSUM_ERR:
|
||||
LOG_INFO("+ERR:CHKSUM\r\n");
|
||||
break;
|
||||
|
||||
case SNHUBAPI_EVT_SEQ_ERR:
|
||||
LOG_INFO("+ERR:SEQUCE\r\n");
|
||||
break;
|
||||
case SNHUBAPI_EVT_SEQ_ERR:
|
||||
LOG_INFO("+ERR:SEQUCE\r\n");
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static int32_t onewireHandle()
|
||||
{
|
||||
if (provision != 0)
|
||||
{
|
||||
RakSNHub_Protocl_API.get.data(provision);
|
||||
provision = 0;
|
||||
}
|
||||
if (provision != 0) {
|
||||
RakSNHub_Protocl_API.get.data(provision);
|
||||
provision = 0;
|
||||
}
|
||||
|
||||
while (mySerial.available())
|
||||
{
|
||||
char a = mySerial.read();
|
||||
buff[bufflen++] = a;
|
||||
delay(2); // continue data, timeout=2ms
|
||||
}
|
||||
while (mySerial.available()) {
|
||||
char a = mySerial.read();
|
||||
buff[bufflen++] = a;
|
||||
delay(2); // continue data, timeout=2ms
|
||||
}
|
||||
|
||||
if (bufflen != 0)
|
||||
{
|
||||
RakSNHub_Protocl_API.process((uint8_t *)buff, bufflen);
|
||||
bufflen = 0;
|
||||
}
|
||||
if (bufflen != 0) {
|
||||
RakSNHub_Protocl_API.process((uint8_t *)buff, bufflen);
|
||||
bufflen = 0;
|
||||
}
|
||||
|
||||
return 50;
|
||||
return 50;
|
||||
}
|
||||
|
||||
int32_t RAK9154Sensor::runOnce()
|
||||
{
|
||||
onewirePeriodic = new Periodic("onewireHandle", onewireHandle);
|
||||
onewirePeriodic = new Periodic("onewireHandle", onewireHandle);
|
||||
|
||||
mySerial.begin(9600);
|
||||
mySerial.begin(9600);
|
||||
|
||||
RakSNHub_Protocl_API.init(onewire_evt);
|
||||
RakSNHub_Protocl_API.init(onewire_evt);
|
||||
|
||||
status = true;
|
||||
initialized = true;
|
||||
return 0;
|
||||
status = true;
|
||||
initialized = true;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void RAK9154Sensor::setup()
|
||||
{
|
||||
// Set up oversampling and filter initialization
|
||||
// Set up oversampling and filter initialization
|
||||
}
|
||||
|
||||
bool RAK9154Sensor::getMetrics(meshtastic_Telemetry *measurement)
|
||||
{
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
uint16_t RAK9154Sensor::getBusVoltageMv()
|
||||
{
|
||||
return dc_vol;
|
||||
return dc_vol;
|
||||
}
|
||||
|
||||
int RAK9154Sensor::getBusBatteryPercent()
|
||||
{
|
||||
return (int)dc_prec;
|
||||
return (int)dc_prec;
|
||||
}
|
||||
|
||||
bool RAK9154Sensor::isCharging()
|
||||
{
|
||||
return (dc_cur > 0) ? true : false;
|
||||
return (dc_cur > 0) ? true : false;
|
||||
}
|
||||
#endif // HAS_RAKPROT
|
||||
@@ -1,22 +1,23 @@
|
||||
import sys
|
||||
import struct
|
||||
import sys
|
||||
|
||||
Import("env")
|
||||
|
||||
|
||||
# Parse input and create UF2 file
|
||||
def create_uf2(source, target, env):
|
||||
# source_hex = target[0].get_abspath()
|
||||
source_hex = target[0].get_string(False)
|
||||
source_hex = '.\\'+source_hex
|
||||
source_hex = ".\\" + source_hex
|
||||
print("#########################################################")
|
||||
print("Create UF2 from "+source_hex)
|
||||
print("Create UF2 from " + source_hex)
|
||||
print("#########################################################")
|
||||
# print("Source: " + source_hex)
|
||||
target = source_hex.replace(".hex", "")
|
||||
target = target + ".uf2"
|
||||
# print("Target: " + target)
|
||||
|
||||
with open(source_hex, mode='rb') as f:
|
||||
with open(source_hex, mode="rb") as f:
|
||||
inpbuf = f.read()
|
||||
|
||||
outbuf = convert_from_hex_to_uf2(inpbuf.decode("utf-8"))
|
||||
@@ -48,9 +49,17 @@ class Block:
|
||||
flags = 0x0
|
||||
if familyid:
|
||||
flags |= 0x2000
|
||||
hd = struct.pack("<IIIIIIII",
|
||||
UF2_MAGIC_START0, UF2_MAGIC_START1,
|
||||
flags, self.addr, 256, blockno, numblocks, familyid)
|
||||
hd = struct.pack(
|
||||
"<IIIIIIII",
|
||||
UF2_MAGIC_START0,
|
||||
UF2_MAGIC_START1,
|
||||
flags,
|
||||
self.addr,
|
||||
256,
|
||||
blockno,
|
||||
numblocks,
|
||||
familyid,
|
||||
)
|
||||
hd += self.bytes[0:256]
|
||||
while len(hd) < 512 - 4:
|
||||
hd += b"\x00"
|
||||
@@ -70,20 +79,20 @@ def convert_from_hex_to_uf2(buf):
|
||||
upper = 0
|
||||
currblock = None
|
||||
blocks = []
|
||||
for line in buf.split('\n'):
|
||||
for line in buf.split("\n"):
|
||||
if line[0] != ":":
|
||||
continue
|
||||
i = 1
|
||||
rec = []
|
||||
while i < len(line) - 1:
|
||||
rec.append(int(line[i:i+2], 16))
|
||||
rec.append(int(line[i : i + 2], 16))
|
||||
i += 2
|
||||
tp = rec[3]
|
||||
if tp == 4:
|
||||
upper = ((rec[4] << 8) | rec[5]) << 16
|
||||
elif tp == 2:
|
||||
upper = ((rec[4] << 8) | rec[5]) << 4
|
||||
assert (upper & 0xffff) == 0
|
||||
assert (upper & 0xFFFF) == 0
|
||||
elif tp == 1:
|
||||
break
|
||||
elif tp == 0:
|
||||
@@ -92,10 +101,10 @@ def convert_from_hex_to_uf2(buf):
|
||||
appstartaddr = addr
|
||||
i = 4
|
||||
while i < len(rec) - 1:
|
||||
if not currblock or currblock.addr & ~0xff != addr & ~0xff:
|
||||
currblock = Block(addr & ~0xff)
|
||||
if not currblock or currblock.addr & ~0xFF != addr & ~0xFF:
|
||||
currblock = Block(addr & ~0xFF)
|
||||
blocks.append(currblock)
|
||||
currblock.bytes[addr & 0xff] = rec[i]
|
||||
currblock.bytes[addr & 0xFF] = rec[i]
|
||||
addr += 1
|
||||
i += 1
|
||||
numblocks = len(blocks)
|
||||
|
||||
Reference in New Issue
Block a user