Tetrapod Project
make_can_msg.h File Reference
#include "Arduino.h"
#include "motor_constants.h"
#include "utilities.h"
Include dependency graph for make_can_msg.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 make_can_msg
 The functions within this namespace converts the incomming 8-byte arrays to CAN data messages for RMDX motors. Please see the attached pdf, RMD_servo_motor_driver_protocol for full details. NB! All messages are related to the inner motor, not the output shaft.
 

Functions

void make_can_msg::readPIDParameters (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to send back a CAN message containing the motor's PI parameters. More...
 
void make_can_msg::writePIDParametersToRAM (unsigned char *_can_message, unsigned char _k_p_position, unsigned char _k_i_position, unsigned char _k_p_speed, unsigned char _k_i_speed, unsigned char _k_p_torque, unsigned char _k_i_torque)
 The function creates a CAN data message that can be used to set the PI parameters of the motor in RAM. The parameters are deleted when the motor is turned off. More...
 
void make_can_msg::writePIDParametersToROM (unsigned char *_can_message, unsigned char _k_p_position, unsigned char _k_i_position, unsigned char _k_p_speed, unsigned char _k_i_speed, unsigned char _k_p_torque, unsigned char _k_i_torque)
 The function creates a CAN data message that can be used to set the PI parameters of the motor. The parameters are stored even when the motor is turned off. NB! This should be avoided as the ROM memory will quickly wear out from writing to it. More...
 
void make_can_msg::readAcceleration (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to send back a CAN message containing the motor's acceleration. More...
 
void make_can_msg::writeAccelerationToRAM (unsigned char *_can_message, int32_t _acceleration)
 The function creates a CAN data message that can be used to set the acceleration of the motor. More...
 
void make_can_msg::readEncoderPosition (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to send back a CAN message containing the motor's enocder data, raw encoder data, and encoder offset. More...
 
void make_can_msg::writeEncoderPositionOffset (unsigned char *_can_message, uint16_t _encoder_offset)
 The function creates a CAN data message that can be used to request the motor to set the encoder position offset. More...
 
void make_can_msg::writeCurrentPositionToROM (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to set the current position as the zero position. More...
 
void make_can_msg::readMultiTurnAngle (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to send back a CAN message containing the position of the motor even through multiple rotations. More...
 
void make_can_msg::readCircleTurnAngle (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to send back a CAN message containing the position of the motor for a single rotation. The position is reset after each revolution of the motor. More...
 
void make_can_msg::motorOff (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to turn off its controller, clear its operating status and clear previously received control commands. More...
 
void make_can_msg::motorStop (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to stop its controller and clear previously received control commands. More...
 
void make_can_msg::motorRunning (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to resume its control object from before it was stopped. More...
 
void make_can_msg::readMotorStatus1AndErrorFlag (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to send back a CAN message containing its error status, voltage, and temperature. More...
 
void make_can_msg::clearMotorErrorFlag (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to clear its error status. More...
 
void make_can_msg::readMotorStatus2 (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to send back a CAN message containing its temperature, torque current, speed, and encoder position. More...
 
void make_can_msg::readMotorStatus3 (unsigned char *_can_message)
 The function creates a CAN data message that can be used to request the motor to send back a CAN message cointaining its three phase currents. More...
 
void make_can_msg::torqueCurrentControl (unsigned char *_can_message, int16_t _torque_current)
 The function creates a CAN data message that can be used to set the motor's torque current. After receiving the command the motor will reply with a CAN message containing temperature, torque current, speed and encoder position. More...
 
void make_can_msg::speedControl (unsigned char *_can_message, int32_t speed)
 The function creates a CAN data message that can be used to set the motor's speed. After receiving the command the motor will reply with a CAN message containing temperature, torque current, speed and encoder position. More...
 
void make_can_msg::positionControl1 (unsigned char *_can_message, int32_t _multiturn_angle)
 The function creates a CAN data message that can be used to set the motor's multi turn position. After receiving the command the motor will reply with a CAN message containing temperature, torque current, speed and encoder position. More...
 
void make_can_msg::positionControl2 (unsigned char *_can_message, int32_t _multiturn_angle, uint16_t _max_speed)
 The function creates a CAN data message that can be used to set the motor's multi turn position with a maximum speed. After receiving the command the motor will reply with a CAN message containing temperature, torque current, speed and encoder position. More...
 
void make_can_msg::positionControl3 (unsigned char *_can_message, uint16_t _singleturn_angle, uint8_t _spin_direction)
 The function creates a CAN data message that can be used to set the motor's single turn position with a specified rotation direction. After receiving the command the motor will reply with a CAN message containing temperature, torque current, speed and encoder position. More...
 
void make_can_msg::positionControl4 (unsigned char *_can_message, uint16_t _single_turn_angle, uint8_t _spin_direction, uint16_t max_speed)
 The function creates a CAN data message that can be used to set the motor's single turn position with a specified rotation direction and maximum speed. After receiving the command the motor will reply with a CAN message containing temperature, torque current, speed and encoder position. More...