mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-29 02:51:17 +00:00
ignore our own msgs for gpio ctrl
This commit is contained in:
parent
79a24c200e
commit
4bd22dd5db
@ -4,25 +4,32 @@ You probably don't care about this section - skip to the next one.
|
|||||||
|
|
||||||
For app cleanup:
|
For app cleanup:
|
||||||
|
|
||||||
|
* do fixed position bug
|
||||||
|
* DONE update android code: https://developer.android.com/topic/libraries/view-binding/migration
|
||||||
|
* make gpio watch work, use thread and setup
|
||||||
|
* make hello world example service
|
||||||
|
* make python ping command
|
||||||
|
* make python gpio read a bit cleaner
|
||||||
* DONE have python tool check max packet size before sending to device
|
* DONE have python tool check max packet size before sending to device
|
||||||
* if request was sent reliably, send reply reliably
|
* DONE if request was sent reliably, send reply reliably
|
||||||
* DONE require a recent python api to talk to these new device loads
|
* DONE require a recent python api to talk to these new device loads
|
||||||
* DONE require a recent android app to talk to these new device loads
|
* DONE require a recent android app to talk to these new device loads
|
||||||
* DONE fix handleIncomingPosition
|
* DONE fix handleIncomingPosition
|
||||||
* DONE move want_replies handling into plugins
|
* DONE move want_replies handling into plugins
|
||||||
* on android for received positions handle either old or new positions / user messages
|
* DONE on android for received positions handle either old or new positions / user messages
|
||||||
* on android side send old or new positions as needed / user messages
|
* on android side send old or new positions as needed / user messages
|
||||||
* test python side handle new position/user messages
|
* test python side handle new position/user messages
|
||||||
* make a gpio example. --gpiowrb 5, --gpiord 0x444, --gpiowatch 0x3ff
|
* DONE make a gpio example. --gpiowrb 4 1, --gpiord 0x444, --gpiowatch 0x3ff
|
||||||
* DONE fix position sending to use new plugin
|
* DONE fix position sending to use new plugin
|
||||||
* DONE Add SinglePortNumPlugin - as the new most useful baseclass
|
* DONE Add SinglePortNumPlugin - as the new most useful baseclass
|
||||||
* DONE move positions into regular data packets (use new app framework)
|
* DONE move positions into regular data packets (use new app framework)
|
||||||
* DONE move user info into regular data packets (use new app framework)
|
* DONE move user info into regular data packets (use new app framework)
|
||||||
* test that positions, text messages and user info still work
|
* test that positions, text messages and user info still work
|
||||||
* test that position, text messages and user info work properly with new android app and old device code
|
* test that position, text messages and user info work properly with new android app and old device code
|
||||||
* call the plugin setup functions
|
|
||||||
* fix the RTC drift bug
|
* fix the RTC drift bug
|
||||||
* move ping functionality into device, reply with rxsnr info
|
* move ping functionality into device, reply with rxsnr info
|
||||||
|
* use channels for gpio security https://github.com/meshtastic/Meshtastic-device/issues/104
|
||||||
|
* implement GPIO watch
|
||||||
|
|
||||||
For high speed/lots of devices/short range tasks:
|
For high speed/lots of devices/short range tasks:
|
||||||
|
|
||||||
|
@ -10,16 +10,13 @@ RemoteHardwarePlugin remoteHardwarePlugin;
|
|||||||
|
|
||||||
#define NUM_GPIOS 64
|
#define NUM_GPIOS 64
|
||||||
|
|
||||||
// A macro for clearing a struct, FIXME, move elsewhere
|
|
||||||
#define CLEAR_STRUCT(r) memset(&r, 0, sizeof(r))
|
|
||||||
|
|
||||||
|
|
||||||
bool RemoteHardwarePlugin::handleReceivedProtobuf(const MeshPacket &req, const HardwareMessage &p)
|
bool RemoteHardwarePlugin::handleReceivedProtobuf(const MeshPacket &req, const HardwareMessage &p)
|
||||||
{
|
{
|
||||||
switch (p.typ) {
|
switch (p.typ) {
|
||||||
case HardwareMessage_Type_WRITE_GPIOS:
|
case HardwareMessage_Type_WRITE_GPIOS:
|
||||||
// Print notification to LCD screen
|
// Print notification to LCD screen
|
||||||
screen->print("Write GPIOs");
|
screen->print("Write GPIOs\n");
|
||||||
|
|
||||||
for (uint8_t i = 0; i < NUM_GPIOS; i++) {
|
for (uint8_t i = 0; i < NUM_GPIOS; i++) {
|
||||||
uint64_t mask = 1 << i;
|
uint64_t mask = 1 << i;
|
||||||
@ -29,9 +26,10 @@ bool RemoteHardwarePlugin::handleReceivedProtobuf(const MeshPacket &req, const H
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case HardwareMessage_Type_READ_GPIOS: {
|
case HardwareMessage_Type_READ_GPIOS: {
|
||||||
// Print notification to LCD screen
|
// Print notification to LCD screen
|
||||||
screen->print("Read GPIOs");
|
screen->print("Read GPIOs\n");
|
||||||
|
|
||||||
uint64_t res = 0;
|
uint64_t res = 0;
|
||||||
for (uint8_t i = 0; i < NUM_GPIOS; i++) {
|
for (uint8_t i = 0; i < NUM_GPIOS; i++) {
|
||||||
@ -52,6 +50,11 @@ bool RemoteHardwarePlugin::handleReceivedProtobuf(const MeshPacket &req, const H
|
|||||||
service.sendToMesh(p);
|
service.sendToMesh(p);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case HardwareMessage_Type_READ_GPIOS_REPLY:
|
||||||
|
case HardwareMessage_Type_GPIOS_CHANGED:
|
||||||
|
break; // Ignore - we might see our own replies
|
||||||
|
|
||||||
default:
|
default:
|
||||||
DEBUG_MSG("Hardware operation %d not yet implemented! FIXME\n", p.typ);
|
DEBUG_MSG("Hardware operation %d not yet implemented! FIXME\n", p.typ);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user