Astra MCU SDK Peripheral Driver Library

FC APIs

fc_status_en fc_init (fc_instance_en id)
fc_status_en fc_deinit (fc_instance_en id)
fc_status_en fc_config_fault (fc_instance_en id, const fc_fault_config_t *cfg)
fc_status_en fc_config_interrupt (fc_instance_en id, const fc_intr_config_t *cfg)
fc_status_en fc_clear_interrupt (fc_instance_en id, uint32_t mask)
fc_status_en fc_get_interrupt_status (fc_instance_en id, uint32_t *status)
fc_status_en fc_set_interrupt_timeout (fc_instance_en id, uint16_t timeout)
fc_status_en fc_set_trigger_pulse_width (fc_instance_en id, uint16_t width)
fc_status_en fc_set_reset_pulse_width (fc_instance_en id, uint16_t width)
fc_status_en fc_config_timing (fc_instance_en id, const fc_timing_config_t *cfg)
fc_status_en fc_set_fault_association (fc_instance_en id, fc_assoc_type_en type, uint8_t assoc_id, const fc_fault_assoc_t *assoc)
fc_status_en fc_get_fault_association (fc_instance_en id, fc_assoc_type_en type, uint8_t assoc_id, fc_fault_assoc_t *assoc)
fc_status_en fc_erase_log (fc_instance_en id)
fc_status_en fc_write_sw_log (fc_instance_en id, uint32_t value)
fc_status_en fc_get_log_count (fc_instance_en id, uint16_t *count)
fc_status_en fc_read_log (fc_instance_en id, uint16_t index, fc_log_entry_t *entry)
fc_status_en fc_read_logs (fc_instance_en id, fc_log_entry_t *entries, uint16_t max_entries, uint16_t *read_count)
fc_status_en fc_register_callback (fc_instance_en id, fc_event_cb_t cb, void *user_data)
fc_status_en fc_isr (fc_instance_en id)

fc_init()

Initialize FC driver instance and SoC-level FC hardware.

Parameters:

Return: fc_status_en status code.

Return values:

fc_deinit()

Deinitialize FC driver instance and disable FC resources.

Parameters:

Return: fc_status_en status code.

Return values:

  • FC_OK: Deinitialization successful, or instance already deinitialized.
  • FC_ERROR_PARAMETER: Invalid FC instance identifier.

fc_config_fault()

Configure one FC fault input source type and logging mask.

Parameters:

Return: fc_status_en status code.

Return values:

fc_config_interrupt()

Configure one FC interrupt output.

Parameters:

Return: fc_status_en status code.

Return values:

fc_clear_interrupt()

Clear selected FC interrupt status bits.

Parameters:

  • id: fc_instance_en instance identifier.
  • mask: Interrupt status bitmask to clear.

Return: fc_status_en status code.

Return values:

fc_get_interrupt_status()

Read FC interrupt status register value.

Parameters:

  • id: fc_instance_en instance identifier.
  • status: Pointer to receive interrupt status value.

Return: fc_status_en status code.

Return values:

fc_set_interrupt_timeout()

Set FC interrupt timeout clear counter value.

Parameters:

  • id: fc_instance_en instance identifier.
  • timeout: 12-bit timeout value.

Return: fc_status_en status code.

Return values:

fc_set_trigger_pulse_width()

Set FC trigger output pulse width value.

Parameters:

  • id: fc_instance_en instance identifier.
  • width: 12-bit trigger pulse width value.

Return: fc_status_en status code.

Return values:

fc_set_reset_pulse_width()

Set FC reset output pulse width value.

Parameters:

  • id: fc_instance_en instance identifier.
  • width: 12-bit reset pulse width value.

Return: fc_status_en status code.

Return values:

fc_config_timing()

Configure one FC timing control field.

Parameters:

Return: fc_status_en status code.

Return values:

fc_set_fault_association()

Program fault routing table for interrupt, trigger, or reset output.

Parameters:

Return: fc_status_en status code.

Return values:

fc_get_fault_association()

Read fault routing table for interrupt, trigger, or reset output.

Parameters:

Return: fc_status_en status code.

Return values:

fc_erase_log()

Erase FC hardware fault log array and reset write pointer.

Parameters:

Return: fc_status_en status code.

Return values:

fc_write_sw_log()

Write one software log ID to FC software log register.

Parameters:

  • id: fc_instance_en instance identifier.
  • value: Software log value in accepted FC range.

Return: fc_status_en status code.

Return values:

fc_get_log_count()

Get number of currently retained FC fault log entries.

Parameters:

  • id: fc_instance_en instance identifier.
  • count: Pointer to receive retained log count.

Return: fc_status_en status code.

Return values:

fc_read_log()

Read one FC log entry by index.

Parameters:

Return: fc_status_en status code.

Return values:

fc_read_logs()

Read multiple FC log entries in chronological order from oldest retained log.

Parameters:

  • id: fc_instance_en instance identifier.
  • entries: Output array of fc_log_entry_t.
  • max_entries: Maximum entries to read into entries.
  • read_count: Pointer to receive number of entries actually read.

Return: fc_status_en status code.

Return values:

fc_register_callback()

Register or clear FC interrupt callback handler.

Parameters:

  • id: fc_instance_en instance identifier.
  • cb: fc_event_cb_t callback, or NULL to disable callback notification.
  • user_data: User context pointer passed to callback.

Return: fc_status_en status code.

Return values:

fc_isr()

FC interrupt service routine helper.

Parameters:

Return: fc_status_en status code.

Return values: