예제 #1
0
/** Set up the USART peripherals, hook them into the settings subsystem
*
*/
void usarts_setup()
{

  radio_setup();

  int TYPE_PORTMODE = settings_type_register_enum(portmode_enum, &portmode);

  SETTING("uart_ftdi", "mode", ftdi_usart.mode, TYPE_PORTMODE);
  SETTING("uart_ftdi", "sbp_message_mask", ftdi_usart.sbp_message_mask, TYPE_INT);
  SETTING("uart_ftdi", "fwd_msg", ftdi_usart.sbp_fwd, TYPE_INT);
  SETTING_NOTIFY("uart_ftdi", "baudrate", ftdi_usart.baud_rate, TYPE_INT,
                 baudrate_change_notify);

  SETTING("uart_uarta", "mode", uarta_usart.mode, TYPE_PORTMODE);
  SETTING("uart_uarta", "sbp_message_mask", uarta_usart.sbp_message_mask, TYPE_INT);
  SETTING("uart_uarta", "configure_telemetry_radio_on_boot",
          uarta_usart.configure_telemetry_radio_on_boot, TYPE_BOOL);
  SETTING("uart_uarta", "fwd_msg", uarta_usart.sbp_fwd, TYPE_INT);
  SETTING_NOTIFY("uart_uarta", "baudrate", uarta_usart.baud_rate, TYPE_INT,
          baudrate_change_notify);

  SETTING("uart_uartb", "mode", uartb_usart.mode, TYPE_PORTMODE);
  SETTING("uart_uartb", "sbp_message_mask", uartb_usart.sbp_message_mask, TYPE_INT);
  SETTING("uart_uartb", "configure_telemetry_radio_on_boot",
          uartb_usart.configure_telemetry_radio_on_boot, TYPE_BOOL);
  SETTING("uart_uartb", "fwd_msg", uartb_usart.sbp_fwd, TYPE_INT);
  SETTING_NOTIFY("uart_uartb", "baudrate", uartb_usart.baud_rate, TYPE_INT,
          baudrate_change_notify);

  usarts_enable(ftdi_usart.baud_rate, uarta_usart.baud_rate, uartb_usart.baud_rate, true);

}
예제 #2
0
/* Setup user settings hooks etc. */
void max2769_setup(void)
{
  static const char const *antenna_enum[] = {"Auto", "Patch", "External", NULL};
  static struct setting_type antenna_setting;
  int TYPE_ANTENNA = settings_type_register_enum(antenna_enum, &antenna_setting);
  SETTING_NOTIFY("frontend", "antenna_selection", antenna, TYPE_ANTENNA, antenna_changed);
}
예제 #3
0
/** Set up the external event detection system
 *
 * Informs the NAP of the desired trigger mode, and registers a settings callback
 * to update the NAP if the trigger mode is changed.
 *
 */
void ext_event_setup(void)
{
  static const char const *trigger_enum[] =
    {"None", "Rising", "Falling", "Both", NULL};
  static struct setting_type trigger_setting;
  int TYPE_TRIGGER = settings_type_register_enum(trigger_enum,
						 &trigger_setting);
  SETTING_NOTIFY("ext_events", "edge_trigger", trigger, TYPE_TRIGGER,
		 trigger_changed);
  /* trigger_changed() will be called at setup time (i.e. immediately) as well
     as if user changes the setting later. */
}
예제 #4
0
void settings_setup(void)
{
  TYPE_BOOL = settings_type_register_enum(bool_enum, &bool_settings_type);

  static sbp_msg_callbacks_node_t settings_msg_node;
  sbp_register_cbk(
    SBP_MSG_SETTINGS,
    &settings_msg_callback,
    &settings_msg_node
  );
  static sbp_msg_callbacks_node_t settings_save_node;
  sbp_register_cbk(
    SBP_MSG_SETTINGS_SAVE,
    &settings_save_callback,
    &settings_save_node
  );
  static sbp_msg_callbacks_node_t settings_read_by_index_node;
  sbp_register_cbk(
    SBP_MSG_SETTINGS_READ_BY_INDEX,
    &settings_read_by_index_callback,
    &settings_read_by_index_node
  );
}