int main(int argc, char **argv) { cbf_init(); //! Create controller from XML file... struct cbf_primitive_controller c; if (cbf_controller_create_from_file(&c, argv[1]) == 0) { printf("Error constructing controller. Exiting...\n"); exit(EXIT_FAILURE); } //! Create placeholders for holding resource values and update steps... double *in = calloc(cbf_controller_get_resource_dim(&c), sizeof(double)); int i; double *out = calloc(cbf_controller_get_resource_dim(&c), sizeof(double)); //! Execute controller some million times.. for (i = 0; i < MAX_NUMBER_OF_STEPS; ++i) { cbf_controller_step(&c, in, out); int j; for (j = 0; j < cbf_controller_get_resource_dim(&c); ++j) in[j] += out[j]; } cbf_controller_destroy(&c); }
/** * The main function. * * \return This function does never return. *****************************************************************************/ int main(void) { hw_init(); i2c_init(); spi_init(); cbf_init(&rx_buf); cbf_init(&tx_buf); // Indicate USB not ready UpdateStatus(Status_USBNotReady); // Initialize Scheduler so that it can be used Scheduler_Init(); // Initialize USB Subsystem USB_Init(); // Scheduling - routine never returns, so put this last in the main function Scheduler_Start(); }