Skip to content
Snippets Groups Projects
Select Git revision
  • bca59308f482ca9a2d765255ddea9788c4ad1e58
  • master default protected
  • schneider/ir
  • rahix/user-space-ctx
  • schneider/iaq-python
  • schneider/ble-mini-demo
  • schneider/ble-ecg-stream-visu
  • schneider/mp-exception-print
  • schneider/sleep-display
  • schneider/deepsleep4
  • schneider/deepsleep2
  • schneider/deepsleep
  • schneider/ble-central
  • rahix/bluetooth-app-favorite
  • schneider/v1.17-changelog
  • schneider/ancs
  • schneider/png
  • schneider/freertos-list-debug
  • schneider/212-reset-hardware-when-entering-repl
  • schneider/bonding-fail-if-full
  • schneider/ble-fixes-2020-3
  • v1.18
  • v1.17
  • v1.16
  • v1.15
  • v1.14
  • v1.13
  • v1.12
  • v1.11
  • v1.10
  • v1.9
  • v1.8
  • v1.7
  • v1.6
  • v1.5
  • v1.4
  • v1.3
  • v1.2
  • v1.1
  • v1.0
  • release-1
41 results

modules.h

Blame
  • modules.h 2.70 KiB
    #ifndef MODULES_H
    #define MODULES_H
    
    #include "FreeRTOS.h"
    #include "semphr.h"
    
    #include <stdint.h>
    #include <stdbool.h>
    
    /* ---------- Dispatcher --------------------------------------------------- */
    void vApiDispatcher(void *pvParameters);
    extern SemaphoreHandle_t api_mutex;
    extern TaskHandle_t dispatcher_task_id;
    
    /* ---------- Hardware Init & Reset ---------------------------------------- */
    int hardware_early_init(void);
    int hardware_init(void);
    int hardware_reset(void);
    
    /* ---------- Lifecycle ---------------------------------------------------- */
    void vLifecycleTask(void *pvParameters);
    void return_to_menu(void);
    
    /* ---------- Serial ------------------------------------------------------- */
    #define SERIAL_READ_BUFFER_SIZE 128
    void vSerialTask(void *pvParameters);
    void serial_enqueue_char(char chr);
    extern TaskHandle_t serial_task_id;
    
    /* ---------- LED Animation / Personal States ------------------------------ */
    #define PERSONAL_STATE_LED 14
    void vLedTask(void *pvParameters);
    int personal_state_enabled();
    
    /* ---------- PMIC --------------------------------------------------------- */
    void vPmicTask(void *pvParameters);
    
    /* ---------- Watchdog ----------------------------------------------------- */
    void watchdog_clearer_init();
    
    /* Critical battery voltage */
    #define BATTERY_CRITICAL   3.40f
    
    enum pmic_amux_signal {
    	PMIC_AMUX_CHGIN_U     = 0x1,
    	PMIC_AMUX_CHGIN_I     = 0x2,
    	PMIC_AMUX_BATT_U      = 0x3,
    	PMIC_AMUX_BATT_CHG_I  = 0x4,
    	PMIC_AMUX_BATT_DIS_I  = 0x5,
    	PMIC_AMUX_BATT_NULL_I = 0x6,
    	PMIC_AMUX_THM_U       = 0x7,
    	PMIC_AMUX_TBIAS_U     = 0x8,
    	PMIC_AMUX_AGND_U      = 0x9,
    	PMIC_AMUX_SYS_U       = 0xA,
    	_PMIC_AMUX_MAX,
    };
    
    /*
     * Read a value from the PMIC's AMUX.  The result is already converted into its
     * proper unit.  See the MAX77650 datasheet for details.
     */
    int pmic_read_amux(enum pmic_amux_signal sig, float *result);
    
    
    /* ---------- BLE ---------------------------------------------------------- */
    void vBleTask(void *pvParameters);
    bool ble_shall_start(void);
    void ble_uart_write(uint8_t *pValue, uint8_t len);
    
    /* ---------- Hardware (Peripheral) Locks ---------------------------------- */