2 #include <mrm-action.h>
3 #include <mrm-can-bus.h>
6 #define ACTIONS_LIMIT 80
7 #define BOARDS_LIMIT 25
47 uint8_t _actionNextFree = 0;
58 Board* board[BOARDS_LIMIT];
59 uint8_t _boardNextFree = 0;
61 uint8_t _devicesAtStartup = 0;
62 bool _devicesScanBeforeMenu =
true;
65 uint32_t fpsMs[2] = { 0, 0 };
66 uint8_t fpsNextIndex = 0;
67 uint32_t fpsTopGap = 0;
69 uint8_t menuLevel = 1;
76 WiFiServer* webServer;
78 char _wiFiPassword[16];
105 bool boardDisplayAndSelect(uint8_t* selectedBoardIndex, uint8_t* selectedDeviceIndex, uint8_t* maxInput, uint8_t* lastBoardAndIndex);
114 bool boardSelect(uint8_t selectedNumber, uint8_t *selectedBoardIndex, uint8_t* selectedDeviceIndex, uint8_t* maxInput);
134 void vprint(
const char* fmt, va_list argp);
166 Robot(
char name[15] = (
char*)
"MRMS robot",
char ssid[15] = (
char*)
"MRMS",
char wiFiPassword[15] = (
char*)
"mrms");
244 void delayMs(uint16_t pauseMs);
380 uint16_t
serialReadNumber(uint16_t timeoutFirst = 3000, uint16_t timeoutBetween = 500,
bool onlySingleDigitInput =
false, uint16_t limit = 0xFFFE,
bool printWarnings =
true);
Definition: mrm-action.h:7
Definition: mrm-board.h:60
Definition: mrm-8x8a.h:60
Definition: mrm-bldc2x50.h:33
Definition: mrm-bldc4x2.5.h:31
Definition: mrm-can-bus.h:12
Definition: mrm-col-b.h:50
Definition: mrm-col-can.h:48
Definition: mrm-fet-can.h:33
Definition: mrm-ir-finder3.h:39
Definition: mrm-lid-can-b2.h:56
Definition: mrm-lid-can-b.h:54
Definition: mrm-mot2x50.h:32
Definition: mrm-mot4x10.h:31
Definition: mrm-mot4x3.6can.h:32
Definition: mrm-node.h:42
Definition: mrm-ref-can.h:51
Definition: mrm-servo.h:20
Definition: mrm-switch.h:16
Definition: mrm-therm-b-can.h:33
Definition: mrm-us-b.h:33
Definition: mrm-robot.h:42
void run()
Definition: mrm-robot.cpp:1121
void colorPatternErase()
Definition: mrm-robot.cpp:633
void messagesReceive()
Definition: mrm-robot.cpp:1037
void lidar2mTest()
Definition: mrm-robot.cpp:854
void thermoTest()
Definition: mrm-robot.cpp:1307
void colorIlluminationOn()
Definition: mrm-robot.cpp:623
bool boardDisplayAndSelect(uint8_t *selectedBoardIndex, uint8_t *selectedDeviceIndex, uint8_t *maxInput, uint8_t *lastBoardAndIndex)
Definition: mrm-robot.cpp:516
void menu()
Definition: mrm-robot.cpp:933
void firmwarePrint()
Definition: mrm-robot.cpp:734
uint8_t devicesScan(bool verbose)
Definition: mrm-robot.cpp:693
void devicesStart(uint8_t measuringMode=0)
Definition: mrm-robot.cpp:707
void blink()
Definition: mrm-robot.cpp:455
void reflectanceArrayCalibrationPrint()
Definition: mrm-robot.cpp:1113
void irFinder3TestCalculated()
Definition: mrm-robot.cpp:846
void fpsUpdate()
Definition: mrm-robot.cpp:792
void menuColor()
Definition: mrm-robot.cpp:986
void fpsReset()
Definition: mrm-robot.cpp:783
void verbosePrint()
Definition: mrm-robot.cpp:1330
void actionPreprocessingEnd()
Definition: mrm-robot.h:185
void actionAdd(ActionBase *action)
Definition: mrm-robot.cpp:332
void delayMicros(uint16_t pauseMicros)
Definition: mrm-robot.cpp:680
void fpsPrint()
Definition: mrm-robot.cpp:767
void errors()
Definition: mrm-robot.cpp:723
void colorIlluminationOff()
Definition: mrm-robot.cpp:613
void actionSet()
Definition: mrm-robot.cpp:366
void noLoopWithoutThis()
Definition: mrm-robot.cpp:1085
virtual void bitmapsSet()=0
float fpsGet()
Definition: mrm-robot.cpp:746
void menuMainAndIdle()
Definition: mrm-robot.cpp:993
void stopAll()
Definition: mrm-robot.cpp:1202
void lidarCalibrate()
Definition: mrm-robot.cpp:888
void add(Board *aBoard)
Definition: mrm-robot.cpp:445
void nodeTest()
Definition: mrm-robot.cpp:1077
void lidar4mTest()
Definition: mrm-robot.cpp:880
void bluetoothTest()
Definition: mrm-robot.cpp:569
void i2cTest()
Definition: mrm-robot.cpp:804
void messagePrint(CANBusMessage *msg, bool outbound)
Definition: mrm-robot.cpp:1016
void end()
Definition: mrm-robot.h:206
void motorTest()
Definition: mrm-robot.cpp:1067
void verboseToggle()
Definition: mrm-robot.cpp:1342
void canBusSniffToggle()
Definition: mrm-robot.cpp:579
void colorPatternRecognize()
Definition: mrm-robot.cpp:663
void actionEnd()
Definition: mrm-robot.h:175
void devicesStop()
Definition: mrm-robot.cpp:714
uint16_t serialReadNumber(uint16_t timeoutFirst=3000, uint16_t timeoutBetween=500, bool onlySingleDigitInput=false, uint16_t limit=0xFFFE, bool printWarnings=true)
Definition: mrm-robot.cpp:1140
uint8_t boardsDisplayAll()
Definition: mrm-robot.cpp:486
void canIdChange()
Definition: mrm-robot.cpp:590
void irFinder3Test()
Definition: mrm-robot.cpp:838
void servoInteractive()
Definition: mrm-robot.cpp:1195
void delayMs(uint16_t pauseMs)
Definition: mrm-robot.cpp:670
bool actionPreprocessing(bool andFinish=true)
Definition: mrm-robot.cpp:344
void info()
Definition: mrm-robot.cpp:828
void menuSystem()
Definition: mrm-robot.cpp:1007
bool setup(bool andFinish=true)
Definition: mrm-robot.h:390
bool userBreak()
Definition: mrm-robot.cpp:1316
void vprint(const char *fmt, va_list argp)
void colorPatternPrint()
Definition: mrm-robot.cpp:643
bool sniffing()
Definition: mrm-robot.h:397
void oscillatorTest()
Definition: mrm-robot.cpp:1098
bool boardSelect(uint8_t selectedNumber, uint8_t *selectedBoardIndex, uint8_t *selectedDeviceIndex, uint8_t *maxInput)
Definition: mrm-robot.cpp:540
void fpsPause()
Definition: mrm-robot.cpp:760
void colorPatternRecord()
Definition: mrm-robot.cpp:653
void menuReflectance()
Definition: mrm-robot.cpp:1000
void actionProcess()
Definition: mrm-robot.cpp:353
bool stressTest()
Definition: mrm-robot.cpp:1212
Definition: mrm-can-bus.h:4