MRMS
mrm-us.h
1 #pragma once
2 #include "Arduino.h"
3 #include <mrm-board.h>
4 
12 #define CAN_ID_US0_IN 0x300
13 #define CAN_ID_US0_OUT 0x301
14 #define CAN_ID_US1_IN 0x302
15 #define CAN_ID_US1_OUT 0x303
16 #define CAN_ID_US2_IN 0x304
17 #define CAN_ID_US2_OUT 0x305
18 #define CAN_ID_US3_IN 0x306
19 #define CAN_ID_US3_OUT 0x307
20 #define CAN_ID_US4_IN 0x308
21 #define CAN_ID_US4_OUT 0x309
22 #define CAN_ID_US5_IN 0x30A
23 #define CAN_ID_US5_OUT 0x30B
24 #define CAN_ID_US6_IN 0x30C
25 #define CAN_ID_US6_OUT 0x30D
26 #define CAN_ID_US7_IN 0x30E
27 #define CAN_ID_US7_OUT 0x30F
28 
29 #define MRM_US_ECHOES_COUNT 9
30 
31 
32 
33 class Mrm_us : public SensorBoard
34 {
35  std::vector<uint16_t[MRM_US_ECHOES_COUNT]>* readings; // Analog readings of all sensors
36 
37 public:
38 
45  Mrm_us(Robot* robot = NULL, uint8_t maxNumberOfBoards = 4);
46 
47  ~Mrm_us();
48 
52  void add(char * deviceName = (char *)"");
53 
58  bool messageDecode(uint32_t canId, uint8_t data[8]);
59 
65  uint16_t reading(uint8_t echoNumber = 0, uint8_t sensorNumber = 0);
66 
69  void readingsPrint();
70 
73  void test();
74 
75 };
76 
77 
Definition: mrm-us.h:34
void readingsPrint()
Definition: mrm-us.cpp:109
uint16_t reading(uint8_t echoNumber=0, uint8_t sensorNumber=0)
Definition: mrm-us.cpp:99
void test()
Definition: mrm-us.cpp:120
Mrm_us(Robot *robot=NULL, uint8_t maxNumberOfBoards=4)
Definition: mrm-us.cpp:10
bool messageDecode(uint32_t canId, uint8_t data[8])
Definition: mrm-us.cpp:71
void add(char *deviceName=(char *)"")
Definition: mrm-us.cpp:21
Definition: mrm-robot.h:42
Definition: mrm-board.h:356