TeensyNanoExoCode
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
ExoData Class Reference

Class to store all the data related to the exo. More...

#include <ExoData.h>

Collaboration diagram for ExoData:
[legend]

Public Member Functions

 ExoData (uint8_t *config_to_send)
 
void reconfigure (uint8_t *config_to_send)
 reconfigures the the exo data if the configuration changes after constructor called.
 
template<typename F >
void for_each_joint (F &&func)
 performs a function for each joint
 
template<typename F >
void for_each_joint (F &&func, float *args)
 
uint8_t get_used_joints (uint8_t *used_joints)
 
JointDataget_joint_with (uint8_t id)
 Get the joint pointer for a joint id.
 
void print ()
 Prints all the exo data.
 
void set_status (uint16_t status_to_set)
 Set the status object.
 
uint16_t get_status (void)
 Get the status object.
 
void set_default_parameters ()
 Set the default controller parameters for the current controller. These are the first row in the controller csv file.
 
void start_pretrial_cal ()
 Start the pretrial calibration process.
 

Public Attributes

bool sync_led_state
 
bool estop
 
float battery_value
 
LegData left_leg
 
LegData right_leg
 
uint32_t mark
 
uint8_t * config
 
uint8_t config_len
 
int error_code
 
int error_joint_id
 
bool user_paused
 

Detailed Description

Class to store all the data related to the exo.

Constructor & Destructor Documentation

◆ ExoData()

ExoData::ExoData ( uint8_t *  config_to_send)

Member Function Documentation

◆ for_each_joint() [1/2]

template<typename F >
void ExoData::for_each_joint ( F &&  func)
inline

performs a function for each joint

Parameters
pointerto the function that should be done for each used joint

◆ for_each_joint() [2/2]

template<typename F >
void ExoData::for_each_joint ( F &&  func,
float *  args 
)
inline

◆ get_joint_with()

JointData * ExoData::get_joint_with ( uint8_t  id)

Get the joint pointer for a joint id.

Parameters
idJoint id
Returns
JointData* Pointer to JointData class for joint with id

◆ get_status()

uint16_t ExoData::get_status ( void  )

Get the status object.

Returns
uint16_t status_defs::messages::status_t

◆ get_used_joints()

uint8_t ExoData::get_used_joints ( uint8_t *  used_joints)

◆ print()

void ExoData::print ( )

Prints all the exo data.

◆ reconfigure()

void ExoData::reconfigure ( uint8_t *  config_to_send)

reconfigures the the exo data if the configuration changes after constructor called.

Parameters
configurationarray
Here is the call graph for this function:

◆ set_default_parameters()

void ExoData::set_default_parameters ( )

Set the default controller parameters for the current controller. These are the first row in the controller csv file.

Here is the call graph for this function:

◆ set_status()

void ExoData::set_status ( uint16_t  status_to_set)

Set the status object.

Parameters
status_to_setstatus_defs::messages::status_t

◆ start_pretrial_cal()

void ExoData::start_pretrial_cal ( )

Start the pretrial calibration process.

Here is the call graph for this function:

Member Data Documentation

◆ battery_value

float ExoData::battery_value

Could be Voltage or SOC, depending on the battery type

◆ config

uint8_t* ExoData::config

pointer to the configuration array

◆ config_len

uint8_t ExoData::config_len

len of the configuration array

◆ error_code

int ExoData::error_code

current error code for the system

◆ error_joint_id

int ExoData::error_joint_id

◆ estop

bool ExoData::estop

state of the estop

◆ left_leg

LegData ExoData::left_leg

data for the left leg

◆ mark

uint32_t ExoData::mark

used for timing, currently only used by the nano

◆ right_leg

LegData ExoData::right_leg

data for the right leg

◆ sync_led_state

bool ExoData::sync_led_state

state of the sync led

◆ user_paused

bool ExoData::user_paused

if the user has paused the system


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