Skip to content

Commit

Permalink
[module] High Speed Logger overrun protection
Browse files Browse the repository at this point in the history
  • Loading branch information
dewagter committed Mar 5, 2013
1 parent b2e56ff commit 5171ca2
Showing 1 changed file with 17 additions and 12 deletions.
29 changes: 17 additions & 12 deletions sw/airborne/modules/loggers/high_speed_logger_spi_link.c
Expand Up @@ -26,10 +26,10 @@
#include "mcu_periph/spi.h"

struct high_speed_logger_spi_link_data high_speed_logger_spi_link_data;
uint16_t testData = 1234;

struct spi_transaction high_speed_logger_spi_link_transaction;

static volatile bool_t high_speed_logger_spi_link_ready = TRUE;

static void high_speed_logger_spi_link_trans_cb( struct spi_transaction *trans );

void high_speed_logger_spi_link_init(void) {
Expand All @@ -52,22 +52,27 @@ void high_speed_logger_spi_link_init(void) {

void high_speed_logger_spi_link_periodic(void)
{
high_speed_logger_spi_link_data.gyro_p = imu.gyro_unscaled.p;
high_speed_logger_spi_link_data.gyro_q = imu.gyro_unscaled.q;
high_speed_logger_spi_link_data.gyro_r = imu.gyro_unscaled.r;
high_speed_logger_spi_link_data.acc_x = imu.accel_unscaled.x;
high_speed_logger_spi_link_data.acc_y = imu.accel_unscaled.y;
high_speed_logger_spi_link_data.acc_z = imu.accel_unscaled.z;
high_speed_logger_spi_link_data.mag_x = imu.mag_unscaled.x;
high_speed_logger_spi_link_data.mag_y = imu.mag_unscaled.x;
high_speed_logger_spi_link_data.mag_z = imu.mag_unscaled.x;
if (high_speed_logger_spi_link_ready)
{
high_speed_logger_spi_link_ready = FALSE;
high_speed_logger_spi_link_data.gyro_p = imu.gyro_unscaled.p;
high_speed_logger_spi_link_data.gyro_q = imu.gyro_unscaled.q;
high_speed_logger_spi_link_data.gyro_r = imu.gyro_unscaled.r;
high_speed_logger_spi_link_data.acc_x = imu.accel_unscaled.x;
high_speed_logger_spi_link_data.acc_y = imu.accel_unscaled.y;
high_speed_logger_spi_link_data.acc_z = imu.accel_unscaled.z;
high_speed_logger_spi_link_data.mag_x = imu.mag_unscaled.x;
high_speed_logger_spi_link_data.mag_y = imu.mag_unscaled.x;
high_speed_logger_spi_link_data.mag_z = imu.mag_unscaled.x;

spi_submit(&(HIGH_SPEED_LOGGER_SPI_LINK_DEVICE), &high_speed_logger_spi_link_transaction);
spi_submit(&(HIGH_SPEED_LOGGER_SPI_LINK_DEVICE), &high_speed_logger_spi_link_transaction);
}

high_speed_logger_spi_link_data.id++;
}

static void high_speed_logger_spi_link_trans_cb( struct spi_transaction *trans ) {
high_speed_logger_spi_link_ready = TRUE;
}


0 comments on commit 5171ca2

Please sign in to comment.