Galaxis Codebase  1.0.0
Team Galaxis software stack for the Carolo Cup 2023 - ROS2 based software
Conversions.cpp File Reference
#include "Conversions.hpp"
#include <math.h>
Include dependency graph for Conversions.cpp:

Go to the source code of this file.

Functions

uint16_t convertLightStatesIntoFinalState (const uint8_t headlight, const uint8_t brakes, const uint8_t blinkerLeft, const uint8_t blinkerRight, const uint8_t scenario1, const uint8_t scenario2, const uint8_t scenario3)
 
float calculateVelocityByRpm (const int64_t motor_erpm, const float r_dyn, const float i_g, const float i_a)
 
int64_t calculateRpmByVelocity (const float velocity, const float r_dyn, const float i_g, const float i_a)
 

Function Documentation

◆ calculateRpmByVelocity()

int64_t calculateRpmByVelocity ( const float  velocity,
const float  r_dyn,
const float  i_g,
const float  i_a 
)

Definition at line 38 of file Conversions.cpp.

42  {
43  if(r_dyn == 0.0f) {
44  return 0;
45  }
46 
47  const float rpm =
48  (60.0 * i_g * i_a * velocity) / (2.0 * r_dyn * M_PI);
49 
50  return rpm;
51 }

◆ calculateVelocityByRpm()

float calculateVelocityByRpm ( const int64_t  motor_erpm,
const float  r_dyn,
const float  i_g,
const float  i_a 
)

Definition at line 23 of file Conversions.cpp.

27  {
28  if(i_g == 0.0f || i_a == 0.0f) {
29  return 0;
30  }
31 
32  const float velocity =
33  (2.0 * r_dyn * motor_erpm * M_PI) / (60.0 * i_g * i_a);
34 
35  return velocity;
36 }

◆ convertLightStatesIntoFinalState()

uint16_t convertLightStatesIntoFinalState ( const uint8_t  headlight,
const uint8_t  brakes,
const uint8_t  blinkerLeft,
const uint8_t  blinkerRight,
const uint8_t  scenario1,
const uint8_t  scenario2,
const uint8_t  scenario3 
)

Definition at line 4 of file Conversions.cpp.

11  {
12  uint16_t output = (uint16_t)(scenario3 & 0x3) << 12;
13  output |= (uint16_t)(scenario2 & 0x3) << 10;
14  output |= (uint16_t)(scenario1 & 0x3) << 8;
15  output |= (uint16_t)(brakes & 0x3) << 6;
16  output |= (uint16_t)(blinkerRight & 0x3) << 4;
17  output |= (uint16_t)(blinkerLeft & 0x3) << 2;
18  output |= (uint16_t)(headlight & 0x3);
19 
20  return output;
21 }

Referenced by ECUNode::motion_callback().

Here is the caller graph for this function: