Alex exoskeleton
ALEX SoftwareDocumentation
Classes | Functions | Variables
main.cpp File Reference
#include "application.h"
Include dependency graph for main.cpp:

Go to the source code of this file.

Classes

struct  period_info
 Task Timer used for the Control Loop. More...
 

Functions

void configureCANopen (int nodeId, int rtPriority, int CANdevice0Index, char *CANdevice)
 
void CO_errExit (char *msg)
 
void CO_error (const uint32_t info)
 
int main (int argc, char *argv[])
 

Variables

pthread_mutex_t CO_CAN_VALID_mtx = PTHREAD_MUTEX_INITIALIZER
 
bool readyToStart = false
 
uint32_t tmr1msPrev = 0
 
volatile uint32_t CO_timer1ms = 0U
 
volatile sig_atomic_t CO_endProgram = 0
 

Function Documentation

void CO_errExit ( char *  msg)

CAN object error code and exit program

Definition at line 313 of file main.cpp.

void CO_error ( const uint32_t  info)

send CANopen generic emergency message

Definition at line 317 of file main.cpp.

void configureCANopen ( int  nodeId,
int  rtPriority,
int  CANdevice0Index,
char *  CANdevice 
)

Definition at line 290 of file main.cpp.

int main ( int  argc,
char *  argv[] 
)

Mainline and threads

< Configurable by use case

< linux CAN device interface for app to bind to: change to can1 for bbb vcan0 for virtual can

< CAN Network NODEID

Definition at line 79 of file main.cpp.

Variable Documentation

pthread_mutex_t CO_CAN_VALID_mtx = PTHREAD_MUTEX_INITIALIZER

Mutex is locked, when CAN is not valid (configuration state). May be used from other threads. RT threads may use CO->CANmodule[0]->CANnormal instead.

Definition at line 39 of file main.cpp.

volatile sig_atomic_t CO_endProgram = 0

Signal handler

Definition at line 71 of file main.cpp.

volatile uint32_t CO_timer1ms = 0U

Global variable increments each millisecond

Definition at line 70 of file main.cpp.

bool readyToStart = false

Flag used by control thread to indicate CAN stack functional

Definition at line 43 of file main.cpp.

uint32_t tmr1msPrev = 0

Definition at line 44 of file main.cpp.