static inline void main_periodic_task( void ) {
	servos[0]+=10;
	servos[1]+=10;
	servos[2]+=10;
	servos[3]+=10;

	if ((can_error_warning = CAN_GetFlagStatus(CAN1, CAN_FLAG_EWG)) == SET) {
		LED_ON(2);
	} else {
		LED_OFF(2);
	}
	if ((can_error_passive = CAN_GetFlagStatus(CAN1, CAN_FLAG_EPV)) == SET) {
		LED_ON(3);
	} else {
		LED_OFF(3);
	}
	if ((can_bus_off = CAN_GetFlagStatus(CAN1, CAN_FLAG_BOF)) == SET) {
		LED_ON(0);
	} else {
		LED_OFF(0);
	}

	cscp_transmit(0, 0, (uint8_t *)servos, 8);

	LED_PERIODIC();
	DOWNLINK_SEND_ALIVE(DefaultChannel, 16, MD5SUM);
}
void mf_daq_send_report(void)
{
  // Send report over normal telemetry
  if (mf_daq.nb > 0) {
    DOWNLINK_SEND_PAYLOAD_FLOAT(DefaultChannel, DefaultDevice, 9, mf_daq.values);
  }
  // Test if log is started
  if (pprzLogFile != -1) {
    if (log_started == FALSE) {
      // Log MD5SUM once
      DOWNLINK_SEND_ALIVE(pprzlog_tp, chibios_sdlog, 16, MD5SUM);
      log_started = true;
    }
    // Log GPS for time reference
    uint8_t foo = 0;
    int16_t climb = -gps.ned_vel.z;
    int16_t course = (DegOfRad(gps.course) / ((int32_t)1e6));
    struct UtmCoor_f utm = *stateGetPositionUtm_f();
    int32_t east = utm.east * 100;
    int32_t north = utm.north * 100;
    DOWNLINK_SEND_GPS(pprzlog_tp, chibios_sdlog, &gps.fix,
                      &east, &north, &course, &gps.hmsl, &gps.gspeed, &climb,
                      &gps.week, &gps.tow, &utm.zone, &foo);
  }
}
Exemple #3
0
static inline void main_periodic(void)
{

  SetActuatorsFromCommands(commands, 0);

  LED_PERIODIC();
  RunOnceEvery(512, {DOWNLINK_SEND_ALIVE(DefaultChannel, DefaultDevice,  16, MD5SUM);});
static inline void main_periodic_task(void)
{
  RunOnceEvery(100, DOWNLINK_SEND_ALIVE(DefaultChannel, DefaultDevice, 16, MD5SUM));

  if (sys_time.nb_sec > 1) {
    lis302dl_spi_periodic(&lis302);
#if USE_LED_5
    RunOnceEvery(10, LED_TOGGLE(5););
static inline void main_periodic_task( void ) {

  static uint16_t i = 0;

  RunOnceEvery(100, {
      LED_TOGGLE(3);
      DOWNLINK_SEND_ALIVE(DefaultChannel, 16, MD5SUM);
    });
Exemple #6
0
static inline void main_periodic_task(void)
{

  tx_data[0] += 1;
  ppz_can_transmit(0, tx_data, 8);

  LED_PERIODIC();
  DOWNLINK_SEND_ALIVE(DefaultChannel, DefaultDevice, 16, MD5SUM);
}
Exemple #7
0
static void main_periodic(int my_sig_num) {

  DOWNLINK_SEND_ALIVE(DefaultChannel, 16, MD5SUM);

  main_send_to_stm();

  UdpTransportPeriodic();

}
void periodic_task_fbw(void) {
    /* static float t; */
    /* t += 1./60.; */
    /* uint16_t servo_value = 1500+ 500*sin(t); */
    /* SetServo(SERVO_THROTTLE, servo_value); */

    RunOnceEvery(300, DOWNLINK_SEND_ALIVE(DefaultChannel, DefaultDevice, 16, MD5SUM));
    RunOnceEvery(300, DOWNLINK_SEND_ACTUATORS(DefaultChannel, DefaultDevice, SERVOS_NB, actuators ));
}
static void ThdTx(void *arg) {

  (void)arg;
  chRegSetThreadName("sender");
  while (TRUE) {
    DOWNLINK_SEND_ALIVE(DefaultChannel, DefaultDevice, 16, MD5SUM);
    chThdSleepMilliseconds(100);
  }
  return 0;
}
static void periodic_task(int fd, short event, void *arg) {

  DOWNLINK_SEND_ALIVE(16, MD5SUM);

  struct timespec ts;
  clock_gettime(CLOCK_MONOTONIC, &ts);
  DOWNLINK_SEND_FMS_TIME(&ts.tv_sec, &ts.tv_nsec);

  PERIODIC_RESCHEDULE();

}
void timeout_cb(int fd, short event, void *arg) {

  printf("in timeout_cb\n");

  DOWNLINK_SEND_ALIVE(16, MD5SUM);

  struct timeval tv;
  evutil_timerclear(&tv);
  tv.tv_sec  = TIMEOUT_DT_SEC;
  tv.tv_usec = TIMEOUT_DT_USEC;
  event_add(&timeout, &tv);

}
void timeout_cb(int fd, short event, void *arg) {

  //  printf("in timeout_cb\n");

  DOWNLINK_SEND_ALIVE(DefaultChannel, 16, MD5SUM);

  float  foof = 3.14159265358979323846;
  double food = 3.14159265358979323846;
  DOWNLINK_SEND_TEST_FORMAT(DefaultChannel, &food, &foof);

  UdpTransportPeriodic();

  ADD_TIMEOUT();

}
static inline void main_periodic(void) {
	uint16_t v1 = 123;
	uint16_t v2 = 123;

  imu_periodic();
#ifdef PASSTHROUGH_CYGNUS
	autopilot_periodic();
#endif
	OveroLinkPeriodic(on_overo_link_lost);

	RunOnceEvery(10, {
			LED_PERIODIC();
			DOWNLINK_SEND_ALIVE(DefaultChannel, 16, MD5SUM);
			radio_control_periodic();
			check_radio_lost();
			DOWNLINK_SEND_BARO_RAW(DefaultChannel, &baro.absolute, &baro.differential);
		});
static inline void main_periodic_task( void ) {
  float rpm = mb_tacho_get_averaged();
  mb_current_periodic();
  float amps = mb_current_amp;
  float thrust = mb_scale_thrust;
  float torque = 0.;

  mb_mode_periodic(rpm, thrust, amps);

  float throttle = mb_modes_throttle;

#if defined USE_TWI_CONTROLLER
  mb_twi_controller_set(throttle);
#endif
  mb_servo_set(throttle);


  RunOnceEvery(125, {
      DOWNLINK_SEND_ALIVE(DefaultChannel, DefaultDevice, 16, MD5SUM);
      PeriodicSendDlValue(DefaultChannel);
    });
Exemple #15
0
static void send_alive(void) {
  DOWNLINK_SEND_ALIVE(DefaultChannel, DefaultDevice, 16, MD5SUM);
}
static inline void main_periodic(void)
{
  ActuatorsPwmCommit();

  LED_PERIODIC();
  RunOnceEvery(100, {DOWNLINK_SEND_ALIVE(DefaultChannel, DefaultDevice,  16, MD5SUM);});