mirror of
https://github.com/meshtastic/firmware.git
synced 2025-02-11 15:11:25 +00:00
![majbthrd](/assets/img/avatar_default.png)
* lay groundwork for a possible future architecture * switch from feature opt-out to feature opt-in * lay groundwork for a possible future architecture * switch from feature opt-out to feature opt-in * fix USE_RTC in variant.h for rak4631_epaper and t-echo * ensure Screen.h is not included without configuration.h Co-authored-by: Peter Lawrence <12226419+majbthrd@users.noreply.github.com> Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
78 lines
2.3 KiB
C++
78 lines
2.3 KiB
C++
#include "configuration.h"
|
|
#include "input/InputBroker.h"
|
|
#include "input/RotaryEncoderInterruptImpl1.h"
|
|
#include "input/UpDownInterruptImpl1.h"
|
|
#include "input/cardKbI2cImpl.h"
|
|
#include "input/facesKbI2cImpl.h"
|
|
#include "modules/AdminModule.h"
|
|
#include "modules/CannedMessageModule.h"
|
|
#include "modules/ExternalNotificationModule.h"
|
|
#include "modules/NodeInfoModule.h"
|
|
#include "modules/PositionModule.h"
|
|
#include "modules/RemoteHardwareModule.h"
|
|
#include "modules/ReplyModule.h"
|
|
#include "modules/RoutingModule.h"
|
|
#include "modules/TextMessageModule.h"
|
|
#include "modules/Telemetry/DeviceTelemetry.h"
|
|
#if HAS_TELEMETRY
|
|
#include "modules/Telemetry/EnvironmentTelemetry.h"
|
|
#endif
|
|
#ifdef ARCH_ESP32
|
|
#include "modules/esp32/RangeTestModule.h"
|
|
#include "modules/esp32/SerialModule.h"
|
|
#include "modules/esp32/StoreForwardModule.h"
|
|
#endif
|
|
|
|
/**
|
|
* Create module instances here. If you are adding a new module, you must 'new' it here (or somewhere else)
|
|
*/
|
|
void setupModules()
|
|
{
|
|
#if HAS_BUTTON
|
|
inputBroker = new InputBroker();
|
|
#endif
|
|
adminModule = new AdminModule();
|
|
nodeInfoModule = new NodeInfoModule();
|
|
positionModule = new PositionModule();
|
|
textMessageModule = new TextMessageModule();
|
|
|
|
// Note: if the rest of meshtastic doesn't need to explicitly use your module, you do not need to assign the instance
|
|
// to a global variable.
|
|
|
|
new RemoteHardwareModule();
|
|
new ReplyModule();
|
|
#if HAS_BUTTON
|
|
rotaryEncoderInterruptImpl1 = new RotaryEncoderInterruptImpl1();
|
|
rotaryEncoderInterruptImpl1->init();
|
|
upDownInterruptImpl1 = new UpDownInterruptImpl1();
|
|
upDownInterruptImpl1->init();
|
|
cardKbI2cImpl = new CardKbI2cImpl();
|
|
cardKbI2cImpl->init();
|
|
facesKbI2cImpl = new FacesKbI2cImpl();
|
|
facesKbI2cImpl->init();
|
|
#endif
|
|
#if HAS_SCREEN
|
|
cannedMessageModule = new CannedMessageModule();
|
|
#endif
|
|
#if HAS_TELEMETRY
|
|
new DeviceTelemetryModule();
|
|
new EnvironmentTelemetryModule();
|
|
#endif
|
|
#ifdef ARCH_ESP32
|
|
// Only run on an esp32 based device.
|
|
|
|
/*
|
|
Maintained by MC Hamster (Jm Casler) jm@casler.org
|
|
*/
|
|
new SerialModule();
|
|
new ExternalNotificationModule();
|
|
|
|
storeForwardModule = new StoreForwardModule();
|
|
|
|
new RangeTestModule();
|
|
#endif
|
|
|
|
// NOTE! This module must be added LAST because it likes to check for replies from other modules and avoid sending extra acks
|
|
routingModule = new RoutingModule();
|
|
}
|