MRMS
Public Member Functions | List of all members
Mrm_ir_finder3 Class Reference
Inheritance diagram for Mrm_ir_finder3:
SensorBoard Board

Public Member Functions

 Mrm_ir_finder3 (Robot *robot=0, uint8_t maxNumberOfBoards=1)
 
void add (char *deviceName=(char *)"")
 
int16_t angle (uint8_t deviceNumber=0)
 
uint16_t distance (uint8_t deviceNumber=0)
 
bool messageDecode (uint32_t canId, uint8_t data[8])
 
uint16_t reading (uint8_t receiverNumberInSensor, uint8_t deviceNumber=0)
 
void readingsPrint ()
 
void test ()
 
void testCalculated ()
 
- Public Member Functions inherited from SensorBoard
 SensorBoard (Robot *robot, uint8_t devicesOnABoard, const char *boardName, uint8_t maxNumberOfBoards, BoardId id)
 
void continuousReadingCalculatedDataStart (uint8_t deviceNumber=0xFF)
 
- Public Member Functions inherited from Board
 Board (Robot *robot, uint8_t maxNumberOfBoards, uint8_t devicesOnABoard, const char *boardName, BoardType boardType, BoardId id)
 
void add (char *deviceName, uint16_t canIn, uint16_t canOut)
 
bool alive (uint8_t deviceNumber=0, bool checkAgainIfDead=false, bool errorIfNotAfterCheckingAgain=false)
 
uint8_t count ()
 
void aliveSet (bool yesOrNo, uint8_t deviceNumber=0)
 
BoardType boardType ()
 
uint8_t deadOrAliveCount ()
 
uint8_t devicesOnASingleBoard ()
 
uint8_t devicesMaximumNumberInAllBoards ()
 
uint8_t devicesScan (bool verbose=true, uint16_t mask=0xFFFF)
 
uint8_t errorCodeLast ()
 
uint8_t errorWasInDeviceNumber ()
 
void firmwareRequest (uint8_t deviceNumber=0xFF)
 
uint16_t fps (uint8_t deviceNumber=0)
 
void fpsDisplay ()
 
void fpsRequest (uint8_t deviceNumber=0xFF)
 
BoardId id ()
 
void idChange (uint16_t newDeviceNumber, uint8_t deviceNumber=0)
 
void info (uint8_t deviceNumber=0xFF)
 
bool isForMe (uint32_t canIdOut, uint8_t deviceNumber)
 
bool isFromMe (uint32_t canIdOut, uint8_t deviceNumber)
 
uint32_t lastMessageMs (uint8_t deviceNumber=0)
 
bool messagePrint (uint32_t msgId, uint8_t dlc, uint8_t *data, bool outbound)
 ‍** Prints a frame More...
 
void messageSend (uint8_t *data, uint8_t dlc, uint8_t deviceNumber=0)
 
char * name (uint8_t deviceNumber)
 
char * name ()
 
void notificationRequest (uint8_t commandRequestingNotification, uint8_t deviceNumber)
 
void oscillatorTest (uint8_t deviceNumber=0xFF)
 
void reset (uint8_t deviceNumber=0xFF)
 
void start (uint8_t deviceNumber=0xFF, uint8_t measuringModeNow=0, uint16_t refreshMs=0)
 
void swap (uint8_t deviceNumber1, uint8_t deviceNumber2)
 
void stop (uint8_t deviceNumber=0xFF)
 
virtual void test (uint8_t deviceNumber=0xFF, uint16_t betweenTestsMs=0)
 

Additional Inherited Members

- Protected Member Functions inherited from Board
bool messageDecodeCommon (uint32_t canId, uint8_t data[8], uint8_t deviceNumber=0)
 
- Protected Attributes inherited from Board
uint32_t _alive
 
bool _aliveReport = false
 
char _boardsName [12]
 
BoardType _boardType
 
uint8_t canData [8]
 
uint8_t devicesOnABoard
 
uint8_t errorCode = 0
 
uint8_t errorInDeviceNumber = 0
 
std::vector< uint16_t > * fpsLast
 
BoardId _id
 
std::vector< uint32_t > * idIn
 
std::vector< uint32_t > * idOut
 
std::vector< uint32_t > * lastMessageReceivedMs
 
std::vector< uint32_t > * _lastReadingMs
 
uint8_t maximumNumberOfBoards
 
uint8_t measuringMode = 0
 
uint8_t measuringModeLimit = 0
 
uint8_t _message [29]
 
std::vector< char[10]> * _name
 
int nextFree
 
RobotrobotContainer
 

Constructor & Destructor Documentation

◆ Mrm_ir_finder3()

Mrm_ir_finder3::Mrm_ir_finder3 ( Robot robot = 0,
uint8_t  maxNumberOfBoards = 1 
)

Constructor

Parameters
robot- robot containing this board
esp32CANBusSingleton- a single instance of CAN Bus common library for all CAN Bus peripherals.
hardwareSerial- Serial, Serial1, Serial2,... - an optional serial port, for example for Bluetooth communication
maxNumberOfBoards- maximum number of boards

Constructor

Parameters
robot- robot containing this board
maxNumberOfBoards- maximum number of boards

Member Function Documentation

◆ add()

void Mrm_ir_finder3::add ( char *  deviceName = (char*)"")

Add a mrm-ir-finder3 sensor

Parameters
deviceName- device's name

◆ angle()

int16_t Mrm_ir_finder3::angle ( uint8_t  deviceNumber = 0)

Ball's direction

Parameters
deviceNumber- Device's ordinal number. Each call of function add() assigns a increasing number to the device, starting with 0.
Returns
- robot's front is 0�, positive angles clockwise, negative anti-clockwise. Back of the robot is 180�.

◆ distance()

uint16_t Mrm_ir_finder3::distance ( uint8_t  deviceNumber = 0)

Ball's distance

Parameters
deviceNumber- Device's ordinal number. Each call of function add() assigns a increasing number to the device, starting with 0.
Returns
- this is analog value that represents infrared light intensity, so not directly distance, but the distance can be inferred. When ball is quite close, expect values up to about 3000. At about 1 m is the boundary between 2 zones so the value will drop sharply as long-dinstance sensors engage. When 0 is return, there is no ball in sight.

Ball's distance

Returns
- this is analog value that represents infrared light intensity, so not directly distance, but the distance can be inferred. When ball is quite close, expect values up to about 3000. At about 1 m is the boundary between 2 zones so the value will drop sharply as long-dinstance sensors engage. When 0 is return, there is no ball in sight.

◆ messageDecode()

bool Mrm_ir_finder3::messageDecode ( uint32_t  canId,
uint8_t  data[8] 
)
virtual

Read CAN Bus message into local variables

Parameters
canId- CAN Bus id
data- 8 bytes from CAN Bus message.

Reimplemented from SensorBoard.

◆ reading()

uint16_t Mrm_ir_finder3::reading ( uint8_t  receiverNumberInSensor,
uint8_t  deviceNumber = 0 
)

Cumulative readings

Parameters
receiverNumberInSensor- single IR receiver in mrm-ir-finder3
deviceNumber- Device's ordinal number. Each call of function add() assigns a increasing number to the device, starting with 0.
Returns
- cumulative value

Analog readings

Parameters
receiverNumberInSensor- single IR receiver in mrm-ir-finder3
deviceNumber- Device's ordinal number. Each call of function add() assigns a increasing number to the device, starting with 0.
Returns
- analog value

◆ readingsPrint()

void Mrm_ir_finder3::readingsPrint ( )

Print all readings in a line

◆ test()

void Mrm_ir_finder3::test ( )

Test

◆ testCalculated()

void Mrm_ir_finder3::testCalculated ( )

Test


The documentation for this class was generated from the following files: