hEvent_t I2C_Init(hardware_bit_t* i2c_interrupt, REGISTER i2c_con, REGISTER i2c_stat, REGISTER i2c_trn, REGISTER i2c_rcv, I2C_callbackFunc resetCallback) { I2C_INTERRUPT = i2c_interrupt; I2C_CON = i2c_con; I2C_STAT = i2c_stat; I2C_TRN = i2c_trn; I2C_RCV = i2c_rcv; res_Callback = resetCallback; /// Register module hModule_t i2c_module = register_module(&_MODULE_I2C); /// Register event I2C_service_handle = register_event_p(i2c_module, &serviceI2C, EVENT_PRIORITY_LOW); I2C_load(); return I2C_service_handle; }
void mavlink_init(void) { int16_t index; udb_init_USART(&mavlink_callback_get_byte_to_send, &mavlink_callback_received_byte); udb_serial_set_rate(MAVLINK_BAUD); mavlink_process_message_handle = register_event_p(&handleMessage, EVENT_PRIORITY_MEDIUM); mavlink_system.sysid = MAVLINK_SYSID; // System ID, 1-255, ID of your Plane for GCS mavlink_system.compid = 1; // Component/Subsystem ID, (1-255) MatrixPilot on UDB is component 1. // Fill stream rates array with zeros to default all streams off; for (index = 0; index < MAV_DATA_STREAM_ENUM_END; index++) streamRates[index] = 0; // QGroundControl GCS lets user send message to increase stream rate streamRates[MAV_DATA_STREAM_RC_CHANNELS] = MAVLINK_RATE_RC_CHAN; streamRates[MAV_DATA_STREAM_RAW_SENSORS] = MAVLINK_RATE_RAW_SENSORS; streamRates[MAV_DATA_STREAM_POSITION] = MAVLINK_RATE_POSITION; streamRates[MAV_DATA_STREAM_EXTRA1] = MAVLINK_RATE_SUE; streamRates[MAV_DATA_STREAM_EXTRA2] = MAVLINK_RATE_POSITION_SENSORS; }
uint16_t register_event(void(*event_callback)(void)) { return register_event_p(event_callback, EVENT_PRIORITY_MEDIUM); }