Files
firmware/src/modules/DropzoneModule.h

35 lines
1.0 KiB
C
Raw Normal View History

#pragma once
#if !MESHTASTIC_EXCLUDE_DROPZONE
#include "SinglePortModule.h"
#include "modules/Telemetry/Sensor/DFRobotLarkSensor.h"
/**
* An example module that replies to a message with the current conditions
* and status at the dropzone when it receives a text message mentioning it's name followed by "conditions"
*/
2026-01-03 21:19:24 +01:00
class DropzoneModule : public SinglePortModule, private concurrency::OSThread {
DFRobotLarkSensor sensor;
2026-01-03 21:19:24 +01:00
public:
/** Constructor
* name is for debugging output
*/
DropzoneModule() : SinglePortModule("dropzone", meshtastic_PortNum_TEXT_MESSAGE_APP), concurrency::OSThread("Dropzone") {
// Set up the analog pin for reading the dropzone status
pinMode(PIN_A1, INPUT);
}
2026-01-03 21:19:24 +01:00
virtual int32_t runOnce() override;
2026-01-03 21:19:24 +01:00
protected:
/** Called to handle a particular incoming message
*/
virtual ProcessMessage handleReceived(const meshtastic_MeshPacket &mp) override;
2026-01-03 21:19:24 +01:00
private:
meshtastic_MeshPacket *sendConditions();
uint32_t startSendConditions = 0;
};
extern DropzoneModule *dropzoneModule;
#endif