Page MenuHomec4science

main.c
No OneTemporary

File Metadata

Created
Fri, May 3, 17:50
#include "main.h"
#include "communication.h"
#include "controller.h"
#include "drivers/adc.h"
#include "drivers/callback_timers.h"
#include "drivers/dac.h"
#include "drivers/h_bridge.h"
#include "drivers/hall.h"
#include "drivers/incr_encoder.h"
#include "drivers/strain_gauge.h"
#include "drivers/tachometer.h"
#include "lib/utils.h"
volatile uint32_t statusReg = 0x00000000; // Main state register.
/**
* @brief Main function, setups all the drivers and controllers.
*/
int main(void)
{
cbt_Init(); // Setup the timers that will call the loops functions.
adc_Init(); // Setup the ADC.
comm_Init(); // Setup the communication module.
ctrl_Init(); // Setup the controllers.
enc_Init(); // Incremental encoders.
hb_Init(); // H-bridge.
hb_Enable();
// Delay to let the power electronics stabilize before calibrating the
// current sensor.
utils_DelayMs(200);
adc_CalibrateCurrentSens();
statusReg |= RUN_CURRENT_LOOP;
dac_Init();
// Init external sensors drivers, connected to the ADC.
hall_Init(ANIN1);
//sg_Init(ANIN2);
//tac_Init(ANIN2);
// Endless loop. It is empty, because all the control is performed in the
// functions called periodically by the interrupts.
while(1)
{
}
}

Event Timeline