Add reading status

This commit is contained in:
Korneliusz Osmenda
2022-09-11 17:50:36 +02:00
parent d37ae9febc
commit c75eae5e52
2 changed files with 32 additions and 0 deletions

15
scripts/status.py Executable file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env python3
import tlay2_client
import struct
def get_state():
a=tlay2_client.Tlay2_msg(3)
keys=("b_soc","b_v","b_a","l_v","l_a","s_v","s_a","on")
vals=struct.unpack("<HHhHHHH?",a.msg(b""))
ratio = (1,100,100,100,100,100,100,"I")
vals = [val/r if r != "I" else val for val,r in zip(vals,ratio)]
return dict(zip(keys,vals))
if __name__ == "__main__":
print(get_state())

View File

@@ -37,6 +37,23 @@ void process_packet(Tlay2<128>* obj, uint8_t*data,size_t len)
obj->tx_end(); obj->tx_end();
break; break;
} }
case 3: // read status
{
k_mutex_lock(&reg_data.mut, K_FOREVER);
Reg_data::Data cached = reg_data.d;
k_mutex_unlock(&reg_data.mut);
obj->tx_init_reply();
obj->tx_u16(cached.b_soc);
obj->tx_u16(cached.b_v);
obj->tx_u16(cached.b_a);
obj->tx_u16(cached.l_v);
obj->tx_u16(cached.l_a);
obj->tx_u16(cached.s_v);
obj->tx_u16(cached.s_a);
obj->tx_byte(cached.on);
obj->tx_end();
break;
}
default: default:
break; break;
} }