diff --git a/STM32Project/Spino_bringup/.cproject b/STM32Project/Spino_bringup/.cproject
new file mode 100644
index 0000000000000000000000000000000000000000..5d62a0bba109458cc8e7c76e6650fca705d6496b
--- /dev/null
+++ b/STM32Project/Spino_bringup/.cproject
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/STM32Project/Spino_bringup/.mxproject b/STM32Project/Spino_bringup/.mxproject
new file mode 100644
index 0000000000000000000000000000000000000000..34b8490c3c46084fc0bbc500ad7076bf15413882
--- /dev/null
+++ b/STM32Project/Spino_bringup/.mxproject
@@ -0,0 +1,25 @@
+[PreviousLibFiles]
+LibFiles=Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_def.h;Drivers\STM32L4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_bus.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_crs.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_system.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_utils.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ramfunc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dmamux.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_spi.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_spi_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_usart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_lpuart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart_ex.h;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_def.h;Drivers\STM32L4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_bus.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_crs.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_system.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_utils.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ramfunc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dmamux.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_spi.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_spi_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_usart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_lpuart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart_ex.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l451xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\system_stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_armclang_ltm.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv81mml.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm35p.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\tz_context.h;
+
+[PreviousUsedCubeIDEFiles]
+SourceFiles=Core\Src\main.c;Core\Src\stm32l4xx_it.c;Core\Src\stm32l4xx_hal_msp.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c;Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;Core\Src\system_stm32l4xx.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c;Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;Core\Src\system_stm32l4xx.c;;;
+HeaderPath=Drivers\STM32L4xx_HAL_Driver\Inc;Drivers\STM32L4xx_HAL_Driver\Inc\Legacy;Drivers\CMSIS\Device\ST\STM32L4xx\Include;Drivers\CMSIS\Include;Core\Inc;
+CDefines=USE_HAL_DRIVER;STM32L451xx;USE_HAL_DRIVER;USE_HAL_DRIVER;
+
+[PreviousGenFiles]
+AdvancedFolderStructure=true
+HeaderFileListSize=3
+HeaderFiles#0=..\Core\Inc\stm32l4xx_it.h
+HeaderFiles#1=..\Core\Inc\stm32l4xx_hal_conf.h
+HeaderFiles#2=..\Core\Inc\main.h
+HeaderFolderListSize=1
+HeaderPath#0=..\Core\Inc
+HeaderFiles=;
+SourceFileListSize=3
+SourceFiles#0=..\Core\Src\stm32l4xx_it.c
+SourceFiles#1=..\Core\Src\stm32l4xx_hal_msp.c
+SourceFiles#2=..\Core\Src\main.c
+SourceFolderListSize=1
+SourcePath#0=..\Core\Src
+SourceFiles=;
+
diff --git a/STM32Project/Spino_bringup/.project b/STM32Project/Spino_bringup/.project
new file mode 100644
index 0000000000000000000000000000000000000000..2f63c6306958370083032a2965cf87b49ac7e237
--- /dev/null
+++ b/STM32Project/Spino_bringup/.project
@@ -0,0 +1,32 @@
+
+
+ Spino_bringup
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ com.st.stm32cube.ide.mcu.MCUProjectNature
+ com.st.stm32cube.ide.mcu.MCUCubeProjectNature
+ org.eclipse.cdt.core.cnature
+ com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature
+ com.st.stm32cube.ide.mcu.MCUAdvancedStructureProjectNature
+ com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature
+ com.st.stm32cube.ide.mcu.MCURootProjectNature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
diff --git a/STM32Project/Spino_bringup/.settings/language.settings.xml b/STM32Project/Spino_bringup/.settings/language.settings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8f4d52dc541d49a85bf1f6f1bf8f30f68bd8a6ea
--- /dev/null
+++ b/STM32Project/Spino_bringup/.settings/language.settings.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/STM32Project/Spino_bringup/.settings/stm32cubeide.project.prefs b/STM32Project/Spino_bringup/.settings/stm32cubeide.project.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..9dfd4b34ff9a55eaf228ebdddf297e3ac923ef46
--- /dev/null
+++ b/STM32Project/Spino_bringup/.settings/stm32cubeide.project.prefs
@@ -0,0 +1,5 @@
+635E684B79701B039C64EA45C3F84D30=C8991FD72E1B2C5473D57C9A1A587DC7
+66BE74F758C12D739921AEA421D593D3=5
+8DF89ED150041C4CBC7CB9A9CAA90856=CAD914FDE73F8F897BE637B75E7960F5
+DC22A860405A8BF2F2C095E5B6529F12=CAD914FDE73F8F897BE637B75E7960F5
+eclipse.preferences.version=1
diff --git a/STM32Project/Spino_bringup/Core/Inc/SI4463.h b/STM32Project/Spino_bringup/Core/Inc/SI4463.h
new file mode 100644
index 0000000000000000000000000000000000000000..561c1312a4c26c93b68a15fc83a6e533a1f7c775
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Inc/SI4463.h
@@ -0,0 +1,60 @@
+/*
+ * SI4463.h
+ *
+ * Created on: 31 août 2022
+ * Author: nats
+ */
+
+#ifndef INC_SI4463_H_
+#define INC_SI4463_H_
+
+#include
+
+#include "radio_config.h"
+
+#include "si446x_cmd.h"
+
+#include "stm32l4xx_hal.h"
+
+#define SPI1_TOUT 1000
+
+static uint8_t cmdArray[] = {\
+ /*SI446X_PATCH_CMDS, \*/\
+ 0x07, RF_POWER_UP, \
+ 0x08, RF_GPIO_PIN_CFG, \
+ 0x06, RF_GLOBAL_XO_TUNE_2, \
+ 0x05, RF_GLOBAL_CONFIG_1, \
+ 0x08, RF_INT_CTL_ENABLE_4, \
+ 0x08, RF_FRR_CTL_A_MODE_4, \
+ 0x0D, RF_PREAMBLE_TX_LENGTH_9, \
+ 0x0A, RF_SYNC_CONFIG_6, \
+ 0x10, RF_PKT_CRC_CONFIG_12, \
+ 0x10, RF_PKT_RX_THRESHOLD_12, \
+ 0x10, RF_PKT_FIELD_3_CRC_CONFIG_12, \
+ 0x10, RF_PKT_RX_FIELD_1_CRC_CONFIG_12, \
+ 0x09, RF_PKT_RX_FIELD_4_CRC_CONFIG_5, \
+ 0x08, RF_PKT_CRC_SEED_31_24_4, \
+ 0x10, RF_MODEM_MOD_TYPE_12, \
+ 0x05, RF_MODEM_FREQ_DEV_0_1, \
+ 0x10, RF_MODEM_TX_RAMP_DELAY_12, \
+ 0x10, RF_MODEM_BCR_NCO_OFFSET_2_12, \
+ 0x07, RF_MODEM_AFC_LIMITER_1_3, \
+ 0x05, RF_MODEM_AGC_CONTROL_1, \
+ 0x10, RF_MODEM_AGC_WINDOW_SIZE_12, \
+ 0x0E, RF_MODEM_RAW_CONTROL_10, \
+ 0x06, RF_MODEM_RAW_SEARCH2_2, \
+ 0x06, RF_MODEM_SPIKE_DET_2, \
+ 0x05, RF_MODEM_RSSI_MUTE_1, \
+ 0x09, RF_MODEM_DSA_CTRL1_5, \
+ 0x10, RF_MODEM_CHFLT_RX1_CHFLT_COE13_7_0_12, \
+ 0x10, RF_MODEM_CHFLT_RX1_CHFLT_COE1_7_0_12, \
+ 0x10, RF_MODEM_CHFLT_RX2_CHFLT_COE7_7_0_12, \
+ 0x05, RF_PA_TC_1, \
+ 0x0B, RF_SYNTH_PFDCP_CPFF_7, \
+ 0x10, RF_MATCH_VALUE_1_12, \
+ 0x0C, RF_FREQ_CONTROL_INTE_8, \
+ 0x00 \
+ };
+
+
+#endif /* INC_SI4463_H_ */
diff --git a/STM32Project/Spino_bringup/Core/Inc/main.h b/STM32Project/Spino_bringup/Core/Inc/main.h
new file mode 100644
index 0000000000000000000000000000000000000000..e2c71d2a9230ed83789109e500aa625bdf3983c0
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Inc/main.h
@@ -0,0 +1,56 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.h
+ * @brief : Header for main.c file.
+ * This file contains the common defines of the application.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2022 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MAIN_H
+#define __MAIN_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32l4xx_hal.h"
+
+void Error_Handler(void);
+
+#define I2C_BUFFER_SIZE 255
+#define I2C_NONE 0
+#define I2C_TX 1
+#define I2C_RX 2
+
+static volatile uint8_t CSKB_I2C_Dir = I2C_NONE;
+
+static volatile uint8_t CSKB_I2C_TX_Complete = 0;
+static volatile uint8_t CSKB_I2C_RX_Complete = 0;
+
+static volatile uint8_t CSKB_I2C_TX_Size = 0;
+static volatile uint8_t CSKB_I2C_RX_Size = 0;
+
+static volatile uint8_t CSKB_I2C_NXT_FrameSize = 0;
+
+static volatile uint8_t CSKB_I2C_TX_BUFFER[I2C_BUFFER_SIZE];
+static volatile uint8_t CSKB_I2C_RX_BUFFER[I2C_BUFFER_SIZE];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MAIN_H */
diff --git a/STM32Project/Spino_bringup/Core/Inc/radio_config.h b/STM32Project/Spino_bringup/Core/Inc/radio_config.h
new file mode 100644
index 0000000000000000000000000000000000000000..0591750df272deda9e5fcb21f5f82ecfce4d4340
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Inc/radio_config.h
@@ -0,0 +1,685 @@
+/*! @file radio_config.h
+ * @brief This file contains the automatically generated
+ * configurations.
+ *
+ * @n WDS GUI Version: 3.2.11.0
+ * @n Device: Si4463 Rev.: C2
+ *
+ * @b COPYRIGHT
+ * @n Silicon Laboratories Confidential
+ * @n Copyright 2017 Silicon Laboratories, Inc.
+ * @n http://www.silabs.com
+ */
+
+#ifndef RADIO_CONFIG_H_
+#define RADIO_CONFIG_H_
+
+// USER DEFINED PARAMETERS
+// Define your own parameters here
+
+// INPUT DATA
+/*
+// Crys_freq(Hz): 30000000 Crys_tol(ppm): 20 IF_mode: 2 High_perf_Ch_Fil: 1 OSRtune: 0 Ch_Fil_Bw_AFC: 0 ANT_DIV: 0 PM_pattern: 0
+// MOD_type: 2 Rsymb(sps): 10000 Fdev(Hz): 20000 RXBW(Hz): 150000 Manchester: 0 AFC_en: 0 Rsymb_error: 0.0 Chip-Version: 2
+// RF Freq.(MHz): 145.83 API_TC: 29 fhst: 12500 inputBW: 0 BERT: 0 RAW_dout: 0 D_source: 0 Hi_pfm_div: 1
+// API_ARR_Det_en: 0 Fdev_error: 0 API_ETSI: 0
+//
+// # RX IF frequency is -468750 Hz
+// # WB filter 1 (BW = 57.23 kHz); NB-filter 1 (BW = 57.23 kHz)
+//
+// Modulation index: 4
+*/
+
+
+// CONFIGURATION PARAMETERS
+#define RADIO_CONFIGURATION_DATA_RADIO_XO_FREQ 30000000L
+#define RADIO_CONFIGURATION_DATA_CHANNEL_NUMBER 0x00
+#define RADIO_CONFIGURATION_DATA_RADIO_PACKET_LENGTH 0x07
+#define RADIO_CONFIGURATION_DATA_RADIO_STATE_AFTER_POWER_UP 0x03
+#define RADIO_CONFIGURATION_DATA_RADIO_DELAY_CNT_AFTER_RESET 0xF000
+#define RADIO_CONFIGURATION_DATA_CUSTOM_PAYLOAD {0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5}
+
+#include "si446x_patch.h"
+
+
+// CONFIGURATION COMMANDS
+
+/*
+// Command: RF_POWER_UP
+// Description: Command to power-up the device and select the operational mode and functionality.
+*/
+#define RF_POWER_UP 0x02, 0x01, 0x00, 0x01, 0xC9, 0xC3, 0x80
+
+/*
+// Command: RF_GPIO_PIN_CFG
+// Description: Configures the GPIO pins.
+*/
+#define RF_GPIO_PIN_CFG 0x13, 0x11, 0x14, 0x43, 0x42, 0x00, 0x00, 0x00
+
+/*
+// Set properties: RF_GLOBAL_XO_TUNE_2
+// Number of properties: 2
+// Group ID: 0x00
+// Start ID: 0x00
+// Default values: 0x40, 0x00,
+// Descriptions:
+// GLOBAL_XO_TUNE - Configure the internal capacitor frequency tuning bank for the crystal oscillator.
+// GLOBAL_CLK_CFG - Clock configuration options.
+*/
+#define RF_GLOBAL_XO_TUNE_2 0x11, 0x00, 0x02, 0x00, 0x52, 0x00
+
+/*
+// Set properties: RF_GLOBAL_CONFIG_1
+// Number of properties: 1
+// Group ID: 0x00
+// Start ID: 0x03
+// Default values: 0x20,
+// Descriptions:
+// GLOBAL_CONFIG - Global configuration settings.
+*/
+#define RF_GLOBAL_CONFIG_1 0x11, 0x00, 0x01, 0x03, 0x20
+
+/*
+// Set properties: RF_INT_CTL_ENABLE_4
+// Number of properties: 4
+// Group ID: 0x01
+// Start ID: 0x00
+// Default values: 0x04, 0x00, 0x00, 0x04,
+// Descriptions:
+// INT_CTL_ENABLE - This property provides for global enabling of the three interrupt groups (Chip, Modem and Packet Handler) in order to generate HW interrupts at the NIRQ pin.
+// INT_CTL_PH_ENABLE - Enable individual interrupt sources within the Packet Handler Interrupt Group to generate a HW interrupt on the NIRQ output pin.
+// INT_CTL_MODEM_ENABLE - Enable individual interrupt sources within the Modem Interrupt Group to generate a HW interrupt on the NIRQ output pin.
+// INT_CTL_CHIP_ENABLE - Enable individual interrupt sources within the Chip Interrupt Group to generate a HW interrupt on the NIRQ output pin.
+*/
+#define RF_INT_CTL_ENABLE_4 0x11, 0x01, 0x04, 0x00, 0x07, 0x18, 0x01, 0x08
+
+/*
+// Set properties: RF_FRR_CTL_A_MODE_4
+// Number of properties: 4
+// Group ID: 0x02
+// Start ID: 0x00
+// Default values: 0x01, 0x02, 0x09, 0x00,
+// Descriptions:
+// FRR_CTL_A_MODE - Fast Response Register A Configuration.
+// FRR_CTL_B_MODE - Fast Response Register B Configuration.
+// FRR_CTL_C_MODE - Fast Response Register C Configuration.
+// FRR_CTL_D_MODE - Fast Response Register D Configuration.
+*/
+#define RF_FRR_CTL_A_MODE_4 0x11, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00
+
+/*
+// Set properties: RF_PREAMBLE_TX_LENGTH_9
+// Number of properties: 9
+// Group ID: 0x10
+// Start ID: 0x00
+// Default values: 0x08, 0x14, 0x00, 0x0F, 0x21, 0x00, 0x00, 0x00, 0x00,
+// Descriptions:
+// PREAMBLE_TX_LENGTH - Configure length of TX Preamble.
+// PREAMBLE_CONFIG_STD_1 - Configuration of reception of a packet with a Standard Preamble pattern.
+// PREAMBLE_CONFIG_NSTD - Configuration of transmission/reception of a packet with a Non-Standard Preamble pattern.
+// PREAMBLE_CONFIG_STD_2 - Configuration of timeout periods during reception of a packet with Standard Preamble pattern.
+// PREAMBLE_CONFIG - General configuration bits for the Preamble field.
+// PREAMBLE_PATTERN_31_24 - Configuration of the bit values describing a Non-Standard Preamble pattern.
+// PREAMBLE_PATTERN_23_16 - Configuration of the bit values describing a Non-Standard Preamble pattern.
+// PREAMBLE_PATTERN_15_8 - Configuration of the bit values describing a Non-Standard Preamble pattern.
+// PREAMBLE_PATTERN_7_0 - Configuration of the bit values describing a Non-Standard Preamble pattern.
+*/
+#define RF_PREAMBLE_TX_LENGTH_9 0x11, 0x10, 0x09, 0x00, 0x08, 0x14, 0x00, 0x0F, 0x31, 0x00, 0x00, 0x00, 0x00
+
+/*
+// Set properties: RF_SYNC_CONFIG_6
+// Number of properties: 6
+// Group ID: 0x11
+// Start ID: 0x00
+// Default values: 0x01, 0x2D, 0xD4, 0x2D, 0xD4, 0x00,
+// Descriptions:
+// SYNC_CONFIG - Sync Word configuration bits.
+// SYNC_BITS_31_24 - Sync word.
+// SYNC_BITS_23_16 - Sync word.
+// SYNC_BITS_15_8 - Sync word.
+// SYNC_BITS_7_0 - Sync word.
+// SYNC_CONFIG2 - Sync Word configuration bits.
+*/
+#define RF_SYNC_CONFIG_6 0x11, 0x11, 0x06, 0x00, 0x01, 0xB4, 0x2B, 0x00, 0x00, 0x00
+
+/*
+// Set properties: RF_PKT_CRC_CONFIG_12
+// Number of properties: 12
+// Group ID: 0x12
+// Start ID: 0x00
+// Default values: 0x00, 0x01, 0x08, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
+// Descriptions:
+// PKT_CRC_CONFIG - Select a CRC polynomial and seed.
+// PKT_WHT_POLY_15_8 - 16-bit polynomial value for the PN Generator (e.g., for Data Whitening)
+// PKT_WHT_POLY_7_0 - 16-bit polynomial value for the PN Generator (e.g., for Data Whitening)
+// PKT_WHT_SEED_15_8 - 16-bit seed value for the PN Generator (e.g., for Data Whitening)
+// PKT_WHT_SEED_7_0 - 16-bit seed value for the PN Generator (e.g., for Data Whitening)
+// PKT_WHT_BIT_NUM - Selects which bit of the LFSR (used to generate the PN / data whitening sequence) is used as the output bit for data scrambling.
+// PKT_CONFIG1 - General configuration bits for transmission or reception of a packet.
+// PKT_CONFIG2 - General packet configuration bits.
+// PKT_LEN - Configuration bits for reception of a variable length packet.
+// PKT_LEN_FIELD_SOURCE - Field number containing the received packet length byte(s).
+// PKT_LEN_ADJUST - Provides for adjustment/offset of the received packet length value (in order to accommodate a variety of methods of defining total packet length).
+// PKT_TX_THRESHOLD - TX FIFO almost empty threshold.
+*/
+#define RF_PKT_CRC_CONFIG_12 0x11, 0x12, 0x0C, 0x00, 0x00, 0x01, 0x08, 0xFF, 0xFF, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x30
+
+/*
+// Set properties: RF_PKT_RX_THRESHOLD_12
+// Number of properties: 12
+// Group ID: 0x12
+// Start ID: 0x0C
+// Default values: 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+// Descriptions:
+// PKT_RX_THRESHOLD - RX FIFO Almost Full threshold.
+// PKT_FIELD_1_LENGTH_12_8 - Unsigned 13-bit Field 1 length value.
+// PKT_FIELD_1_LENGTH_7_0 - Unsigned 13-bit Field 1 length value.
+// PKT_FIELD_1_CONFIG - General data processing and packet configuration bits for Field 1.
+// PKT_FIELD_1_CRC_CONFIG - Configuration of CRC control bits across Field 1.
+// PKT_FIELD_2_LENGTH_12_8 - Unsigned 13-bit Field 2 length value.
+// PKT_FIELD_2_LENGTH_7_0 - Unsigned 13-bit Field 2 length value.
+// PKT_FIELD_2_CONFIG - General data processing and packet configuration bits for Field 2.
+// PKT_FIELD_2_CRC_CONFIG - Configuration of CRC control bits across Field 2.
+// PKT_FIELD_3_LENGTH_12_8 - Unsigned 13-bit Field 3 length value.
+// PKT_FIELD_3_LENGTH_7_0 - Unsigned 13-bit Field 3 length value.
+// PKT_FIELD_3_CONFIG - General data processing and packet configuration bits for Field 3.
+*/
+#define RF_PKT_RX_THRESHOLD_12 0x11, 0x12, 0x0C, 0x0C, 0x30, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+/*
+// Set properties: RF_PKT_FIELD_3_CRC_CONFIG_12
+// Number of properties: 12
+// Group ID: 0x12
+// Start ID: 0x18
+// Default values: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+// Descriptions:
+// PKT_FIELD_3_CRC_CONFIG - Configuration of CRC control bits across Field 3.
+// PKT_FIELD_4_LENGTH_12_8 - Unsigned 13-bit Field 4 length value.
+// PKT_FIELD_4_LENGTH_7_0 - Unsigned 13-bit Field 4 length value.
+// PKT_FIELD_4_CONFIG - General data processing and packet configuration bits for Field 4.
+// PKT_FIELD_4_CRC_CONFIG - Configuration of CRC control bits across Field 4.
+// PKT_FIELD_5_LENGTH_12_8 - Unsigned 13-bit Field 5 length value.
+// PKT_FIELD_5_LENGTH_7_0 - Unsigned 13-bit Field 5 length value.
+// PKT_FIELD_5_CONFIG - General data processing and packet configuration bits for Field 5.
+// PKT_FIELD_5_CRC_CONFIG - Configuration of CRC control bits across Field 5.
+// PKT_RX_FIELD_1_LENGTH_12_8 - Unsigned 13-bit RX Field 1 length value.
+// PKT_RX_FIELD_1_LENGTH_7_0 - Unsigned 13-bit RX Field 1 length value.
+// PKT_RX_FIELD_1_CONFIG - General data processing and packet configuration bits for RX Field 1.
+*/
+#define RF_PKT_FIELD_3_CRC_CONFIG_12 0x11, 0x12, 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+/*
+// Set properties: RF_PKT_RX_FIELD_1_CRC_CONFIG_12
+// Number of properties: 12
+// Group ID: 0x12
+// Start ID: 0x24
+// Default values: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+// Descriptions:
+// PKT_RX_FIELD_1_CRC_CONFIG - Configuration of CRC control bits across RX Field 1.
+// PKT_RX_FIELD_2_LENGTH_12_8 - Unsigned 13-bit RX Field 2 length value.
+// PKT_RX_FIELD_2_LENGTH_7_0 - Unsigned 13-bit RX Field 2 length value.
+// PKT_RX_FIELD_2_CONFIG - General data processing and packet configuration bits for RX Field 2.
+// PKT_RX_FIELD_2_CRC_CONFIG - Configuration of CRC control bits across RX Field 2.
+// PKT_RX_FIELD_3_LENGTH_12_8 - Unsigned 13-bit RX Field 3 length value.
+// PKT_RX_FIELD_3_LENGTH_7_0 - Unsigned 13-bit RX Field 3 length value.
+// PKT_RX_FIELD_3_CONFIG - General data processing and packet configuration bits for RX Field 3.
+// PKT_RX_FIELD_3_CRC_CONFIG - Configuration of CRC control bits across RX Field 3.
+// PKT_RX_FIELD_4_LENGTH_12_8 - Unsigned 13-bit RX Field 4 length value.
+// PKT_RX_FIELD_4_LENGTH_7_0 - Unsigned 13-bit RX Field 4 length value.
+// PKT_RX_FIELD_4_CONFIG - General data processing and packet configuration bits for RX Field 4.
+*/
+#define RF_PKT_RX_FIELD_1_CRC_CONFIG_12 0x11, 0x12, 0x0C, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+/*
+// Set properties: RF_PKT_RX_FIELD_4_CRC_CONFIG_5
+// Number of properties: 5
+// Group ID: 0x12
+// Start ID: 0x30
+// Default values: 0x00, 0x00, 0x00, 0x00, 0x00,
+// Descriptions:
+// PKT_RX_FIELD_4_CRC_CONFIG - Configuration of CRC control bits across RX Field 4.
+// PKT_RX_FIELD_5_LENGTH_12_8 - Unsigned 13-bit RX Field 5 length value.
+// PKT_RX_FIELD_5_LENGTH_7_0 - Unsigned 13-bit RX Field 5 length value.
+// PKT_RX_FIELD_5_CONFIG - General data processing and packet configuration bits for RX Field 5.
+// PKT_RX_FIELD_5_CRC_CONFIG - Configuration of CRC control bits across RX Field 5.
+*/
+#define RF_PKT_RX_FIELD_4_CRC_CONFIG_5 0x11, 0x12, 0x05, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
+
+/*
+// Set properties: RF_PKT_CRC_SEED_31_24_4
+// Number of properties: 4
+// Group ID: 0x12
+// Start ID: 0x36
+// Default values: 0x00, 0x00, 0x00, 0x00,
+// Descriptions:
+// PKT_CRC_SEED_31_24 - 32-bit seed value for the 32-bit CRC engine
+// PKT_CRC_SEED_23_16 - 32-bit seed value for the 32-bit CRC engine
+// PKT_CRC_SEED_15_8 - 32-bit seed value for the 32-bit CRC engine
+// PKT_CRC_SEED_7_0 - 32-bit seed value for the 32-bit CRC engine
+*/
+#define RF_PKT_CRC_SEED_31_24_4 0x11, 0x12, 0x04, 0x36, 0x00, 0x00, 0x00, 0x00
+
+/*
+// Set properties: RF_MODEM_MOD_TYPE_12
+// Number of properties: 12
+// Group ID: 0x20
+// Start ID: 0x00
+// Default values: 0x02, 0x80, 0x07, 0x0F, 0x42, 0x40, 0x01, 0xC9, 0xC3, 0x80, 0x00, 0x06,
+// Descriptions:
+// MODEM_MOD_TYPE - Selects the type of modulation. In TX mode, additionally selects the source of the modulation.
+// MODEM_MAP_CONTROL - Controls polarity and mapping of transmit and receive bits.
+// MODEM_DSM_CTRL - Miscellaneous control bits for the Delta-Sigma Modulator (DSM) in the PLL Synthesizer.
+// MODEM_DATA_RATE_2 - Unsigned 24-bit value used to determine the TX data rate
+// MODEM_DATA_RATE_1 - Unsigned 24-bit value used to determine the TX data rate
+// MODEM_DATA_RATE_0 - Unsigned 24-bit value used to determine the TX data rate
+// MODEM_TX_NCO_MODE_3 - TX Gaussian filter oversampling ratio and Byte 3 of unsigned 26-bit TX Numerically Controlled Oscillator (NCO) modulus.
+// MODEM_TX_NCO_MODE_2 - TX Gaussian filter oversampling ratio and Byte 3 of unsigned 26-bit TX Numerically Controlled Oscillator (NCO) modulus.
+// MODEM_TX_NCO_MODE_1 - TX Gaussian filter oversampling ratio and Byte 3 of unsigned 26-bit TX Numerically Controlled Oscillator (NCO) modulus.
+// MODEM_TX_NCO_MODE_0 - TX Gaussian filter oversampling ratio and Byte 3 of unsigned 26-bit TX Numerically Controlled Oscillator (NCO) modulus.
+// MODEM_FREQ_DEV_2 - 17-bit unsigned TX frequency deviation word.
+// MODEM_FREQ_DEV_1 - 17-bit unsigned TX frequency deviation word.
+*/
+#define RF_MODEM_MOD_TYPE_12 0x11, 0x20, 0x0C, 0x00, 0x02, 0x00, 0x07, 0x01, 0x86, 0xA0, 0x01, 0xC9, 0xC3, 0x80, 0x00, 0x10
+
+/*
+// Set properties: RF_MODEM_FREQ_DEV_0_1
+// Number of properties: 1
+// Group ID: 0x20
+// Start ID: 0x0C
+// Default values: 0xD3,
+// Descriptions:
+// MODEM_FREQ_DEV_0 - 17-bit unsigned TX frequency deviation word.
+*/
+#define RF_MODEM_FREQ_DEV_0_1 0x11, 0x20, 0x01, 0x0C, 0x62
+
+/*
+// Set properties: RF_MODEM_TX_RAMP_DELAY_12
+// Number of properties: 12
+// Group ID: 0x20
+// Start ID: 0x18
+// Default values: 0x01, 0x00, 0x08, 0x03, 0xC0, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x4B,
+// Descriptions:
+// MODEM_TX_RAMP_DELAY - TX ramp-down delay setting.
+// MODEM_MDM_CTRL - MDM control.
+// MODEM_IF_CONTROL - Selects Fixed-IF, Scaled-IF, or Zero-IF mode of RX Modem operation.
+// MODEM_IF_FREQ_2 - the IF frequency setting (an 18-bit signed number).
+// MODEM_IF_FREQ_1 - the IF frequency setting (an 18-bit signed number).
+// MODEM_IF_FREQ_0 - the IF frequency setting (an 18-bit signed number).
+// MODEM_DECIMATION_CFG1 - Specifies three decimator ratios for the Cascaded Integrator Comb (CIC) filter.
+// MODEM_DECIMATION_CFG0 - Specifies miscellaneous parameters and decimator ratios for the Cascaded Integrator Comb (CIC) filter.
+// MODEM_DECIMATION_CFG2 - Specifies miscellaneous decimator filter selections.
+// MODEM_IFPKD_THRESHOLDS -
+// MODEM_BCR_OSR_1 - RX BCR/Slicer oversampling rate (12-bit unsigned number).
+// MODEM_BCR_OSR_0 - RX BCR/Slicer oversampling rate (12-bit unsigned number).
+*/
+#define RF_MODEM_TX_RAMP_DELAY_12 0x11, 0x20, 0x0C, 0x18, 0x01, 0x80, 0x08, 0x02, 0x80, 0x00, 0x30, 0x20, 0x00, 0xE8, 0x00, 0xBC
+
+/*
+// Set properties: RF_MODEM_BCR_NCO_OFFSET_2_12
+// Number of properties: 12
+// Group ID: 0x20
+// Start ID: 0x24
+// Default values: 0x06, 0xD3, 0xA0, 0x06, 0xD3, 0x02, 0xC0, 0x00, 0x00, 0x23, 0x83, 0x69,
+// Descriptions:
+// MODEM_BCR_NCO_OFFSET_2 - RX BCR NCO offset value (an unsigned 22-bit number).
+// MODEM_BCR_NCO_OFFSET_1 - RX BCR NCO offset value (an unsigned 22-bit number).
+// MODEM_BCR_NCO_OFFSET_0 - RX BCR NCO offset value (an unsigned 22-bit number).
+// MODEM_BCR_GAIN_1 - The unsigned 11-bit RX BCR loop gain value.
+// MODEM_BCR_GAIN_0 - The unsigned 11-bit RX BCR loop gain value.
+// MODEM_BCR_GEAR - RX BCR loop gear control.
+// MODEM_BCR_MISC1 - Miscellaneous control bits for the RX BCR loop.
+// MODEM_BCR_MISC0 - Miscellaneous RX BCR loop controls.
+// MODEM_AFC_GEAR - RX AFC loop gear control.
+// MODEM_AFC_WAIT - RX AFC loop wait time control.
+// MODEM_AFC_GAIN_1 - Sets the gain of the PLL-based AFC acquisition loop, and provides miscellaneous control bits for AFC functionality.
+// MODEM_AFC_GAIN_0 - Sets the gain of the PLL-based AFC acquisition loop, and provides miscellaneous control bits for AFC functionality.
+*/
+#define RF_MODEM_BCR_NCO_OFFSET_2_12 0x11, 0x20, 0x0C, 0x24, 0x02, 0xBB, 0x0D, 0x01, 0x5D, 0x02, 0xC2, 0x00, 0x04, 0x23, 0x80, 0x57
+
+/*
+// Set properties: RF_MODEM_AFC_LIMITER_1_3
+// Number of properties: 3
+// Group ID: 0x20
+// Start ID: 0x30
+// Default values: 0x00, 0x40, 0xA0,
+// Descriptions:
+// MODEM_AFC_LIMITER_1 - Set the AFC limiter value.
+// MODEM_AFC_LIMITER_0 - Set the AFC limiter value.
+// MODEM_AFC_MISC - Specifies miscellaneous AFC control bits.
+*/
+#define RF_MODEM_AFC_LIMITER_1_3 0x11, 0x20, 0x03, 0x30, 0x0B, 0x22, 0x80
+
+/*
+// Set properties: RF_MODEM_AGC_CONTROL_1
+// Number of properties: 1
+// Group ID: 0x20
+// Start ID: 0x35
+// Default values: 0xE0,
+// Descriptions:
+// MODEM_AGC_CONTROL - Miscellaneous control bits for the Automatic Gain Control (AGC) function in the RX Chain.
+*/
+#define RF_MODEM_AGC_CONTROL_1 0x11, 0x20, 0x01, 0x35, 0xE0
+
+/*
+// Set properties: RF_MODEM_AGC_WINDOW_SIZE_12
+// Number of properties: 12
+// Group ID: 0x20
+// Start ID: 0x38
+// Default values: 0x11, 0x10, 0x10, 0x0B, 0x1C, 0x40, 0x00, 0x00, 0x2B, 0x0C, 0xA4, 0x03,
+// Descriptions:
+// MODEM_AGC_WINDOW_SIZE - Specifies the size of the measurement and settling windows for the AGC algorithm.
+// MODEM_AGC_RFPD_DECAY - Sets the decay time of the RF peak detectors.
+// MODEM_AGC_IFPD_DECAY - Sets the decay time of the IF peak detectors.
+// MODEM_FSK4_GAIN1 - Specifies the gain factor of the secondary branch in 4(G)FSK ISI-suppression.
+// MODEM_FSK4_GAIN0 - Specifies the gain factor of the primary branch in 4(G)FSK ISI-suppression.
+// MODEM_FSK4_TH1 - 16 bit 4(G)FSK slicer threshold.
+// MODEM_FSK4_TH0 - 16 bit 4(G)FSK slicer threshold.
+// MODEM_FSK4_MAP - 4(G)FSK symbol mapping code.
+// MODEM_OOK_PDTC - Configures the attack and decay times of the OOK Peak Detector.
+// MODEM_OOK_BLOPK - Configures the slicing reference level of the OOK Peak Detector.
+// MODEM_OOK_CNT1 - OOK control.
+// MODEM_OOK_MISC - Selects the detector(s) used for demodulation of an OOK signal, or for demodulation of a (G)FSK signal when using the asynchronous demodulator.
+*/
+#define RF_MODEM_AGC_WINDOW_SIZE_12 0x11, 0x20, 0x0C, 0x38, 0x11, 0x29, 0x29, 0x80, 0x02, 0xFF, 0xFF, 0x00, 0x29, 0x0C, 0xA4, 0x22
+
+/*
+// Set properties: RF_MODEM_RAW_CONTROL_10
+// Number of properties: 10
+// Group ID: 0x20
+// Start ID: 0x45
+// Default values: 0x02, 0x00, 0xA3, 0x02, 0x80, 0xFF, 0x0C, 0x01, 0x00, 0x40,
+// Descriptions:
+// MODEM_RAW_CONTROL - Defines gain and enable controls for raw / nonstandard mode.
+// MODEM_RAW_EYE_1 - 11 bit eye-open detector threshold.
+// MODEM_RAW_EYE_0 - 11 bit eye-open detector threshold.
+// MODEM_ANT_DIV_MODE - Antenna diversity mode settings.
+// MODEM_ANT_DIV_CONTROL - Specifies controls for the Antenna Diversity algorithm.
+// MODEM_RSSI_THRESH - Configures the RSSI threshold.
+// MODEM_RSSI_JUMP_THRESH - Configures the RSSI Jump Detection threshold.
+// MODEM_RSSI_CONTROL - Control of the averaging modes and latching time for reporting RSSI value(s).
+// MODEM_RSSI_CONTROL2 - RSSI Jump Detection control.
+// MODEM_RSSI_COMP - RSSI compensation value.
+*/
+#define RF_MODEM_RAW_CONTROL_10 0x11, 0x20, 0x0A, 0x45, 0x83, 0x02, 0xAA, 0x01, 0x00, 0xFF, 0x06, 0x00, 0x18, 0x40
+
+/*
+// Set properties: RF_MODEM_RAW_SEARCH2_2
+// Number of properties: 2
+// Group ID: 0x20
+// Start ID: 0x50
+// Default values: 0x00, 0x08,
+// Descriptions:
+// MODEM_RAW_SEARCH2 - Defines and controls the search period length for the Moving Average and Min-Max detectors.
+// MODEM_CLKGEN_BAND - Select PLL Synthesizer output divider ratio as a function of frequency band.
+*/
+#define RF_MODEM_RAW_SEARCH2_2 0x11, 0x20, 0x02, 0x50, 0x84, 0x0D
+
+/*
+// Set properties: RF_MODEM_SPIKE_DET_2
+// Number of properties: 2
+// Group ID: 0x20
+// Start ID: 0x54
+// Default values: 0x00, 0x00,
+// Descriptions:
+// MODEM_SPIKE_DET - Configures the threshold for (G)FSK Spike Detection.
+// MODEM_ONE_SHOT_AFC - Configures parameters for th e One Shot AFC function and for BCR timing/acquisition.
+*/
+#define RF_MODEM_SPIKE_DET_2 0x11, 0x20, 0x02, 0x54, 0x09, 0x07
+
+/*
+// Set properties: RF_MODEM_RSSI_MUTE_1
+// Number of properties: 1
+// Group ID: 0x20
+// Start ID: 0x57
+// Default values: 0x00,
+// Descriptions:
+// MODEM_RSSI_MUTE - Configures muting of the RSSI to avoid false RSSI interrupts.
+*/
+#define RF_MODEM_RSSI_MUTE_1 0x11, 0x20, 0x01, 0x57, 0x00
+
+/*
+// Set properties: RF_MODEM_DSA_CTRL1_5
+// Number of properties: 5
+// Group ID: 0x20
+// Start ID: 0x5B
+// Default values: 0x00, 0x00, 0x00, 0x00, 0x00,
+// Descriptions:
+// MODEM_DSA_CTRL1 - Configures parameters for the Signal Arrival Detection circuit block and algorithm.
+// MODEM_DSA_CTRL2 - Configures parameters for the Signal Arrival Detection circuit block and algorithm.
+// MODEM_DSA_QUAL - Configures parameters for the Eye Opening qualification m ethod of the Signal Arrival Detection algorithm.
+// MODEM_DSA_RSSI - Signal Arrival Detect RSSI Qualifier Config
+// MODEM_DSA_MISC - Miscellaneous detection of signal arrival bits.
+*/
+#define RF_MODEM_DSA_CTRL1_5 0x11, 0x20, 0x05, 0x5B, 0x40, 0x04, 0x14, 0x78, 0x20
+
+/*
+// Set properties: RF_MODEM_CHFLT_RX1_CHFLT_COE13_7_0_12
+// Number of properties: 12
+// Group ID: 0x21
+// Start ID: 0x00
+// Default values: 0xFF, 0xBA, 0x0F, 0x51, 0xCF, 0xA9, 0xC9, 0xFC, 0x1B, 0x1E, 0x0F, 0x01,
+// Descriptions:
+// MODEM_CHFLT_RX1_CHFLT_COE13_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE12_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE11_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE10_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE9_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE8_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE7_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE6_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE5_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE4_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE3_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE2_7_0 - Filter coefficients for the first set of RX filter coefficients.
+*/
+#define RF_MODEM_CHFLT_RX1_CHFLT_COE13_7_0_12 0x11, 0x21, 0x0C, 0x00, 0xFF, 0xBA, 0x0F, 0x51, 0xCF, 0xA9, 0xC9, 0xFC, 0x1B, 0x1E, 0x0F, 0x01
+
+/*
+// Set properties: RF_MODEM_CHFLT_RX1_CHFLT_COE1_7_0_12
+// Number of properties: 12
+// Group ID: 0x21
+// Start ID: 0x0C
+// Default values: 0xFC, 0xFD, 0x15, 0xFF, 0x00, 0x0F, 0xFF, 0xC4, 0x30, 0x7F, 0xF5, 0xB5,
+// Descriptions:
+// MODEM_CHFLT_RX1_CHFLT_COE1_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COE0_7_0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COEM0 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COEM1 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COEM2 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX1_CHFLT_COEM3 - Filter coefficients for the first set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE13_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE12_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE11_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE10_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE9_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE8_7_0 - Filter coefficients for the second set of RX filter coefficients.
+*/
+#define RF_MODEM_CHFLT_RX1_CHFLT_COE1_7_0_12 0x11, 0x21, 0x0C, 0x0C, 0xFC, 0xFD, 0x15, 0xFF, 0x00, 0x0F, 0xFF, 0xBA, 0x0F, 0x51, 0xCF, 0xA9
+
+/*
+// Set properties: RF_MODEM_CHFLT_RX2_CHFLT_COE7_7_0_12
+// Number of properties: 12
+// Group ID: 0x21
+// Start ID: 0x18
+// Default values: 0xB8, 0xDE, 0x05, 0x17, 0x16, 0x0C, 0x03, 0x00, 0x15, 0xFF, 0x00, 0x00,
+// Descriptions:
+// MODEM_CHFLT_RX2_CHFLT_COE7_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE6_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE5_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE4_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE3_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE2_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE1_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COE0_7_0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COEM0 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COEM1 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COEM2 - Filter coefficients for the second set of RX filter coefficients.
+// MODEM_CHFLT_RX2_CHFLT_COEM3 - Filter coefficients for the second set of RX filter coefficients.
+*/
+#define RF_MODEM_CHFLT_RX2_CHFLT_COE7_7_0_12 0x11, 0x21, 0x0C, 0x18, 0xC9, 0xFC, 0x1B, 0x1E, 0x0F, 0x01, 0xFC, 0xFD, 0x15, 0xFF, 0x00, 0x0F
+
+/*
+// Set properties: RF_PA_TC_1
+// Number of properties: 1
+// Group ID: 0x22
+// Start ID: 0x03
+// Default values: 0x5D,
+// Descriptions:
+// PA_TC - Configuration of PA ramping parameters.
+*/
+#define RF_PA_TC_1 0x11, 0x22, 0x01, 0x03, 0x1D
+
+/*
+// Set properties: RF_SYNTH_PFDCP_CPFF_7
+// Number of properties: 7
+// Group ID: 0x23
+// Start ID: 0x00
+// Default values: 0x2C, 0x0E, 0x0B, 0x04, 0x0C, 0x73, 0x03,
+// Descriptions:
+// SYNTH_PFDCP_CPFF - Feed forward charge pump current selection.
+// SYNTH_PFDCP_CPINT - Integration charge pump current selection.
+// SYNTH_VCO_KV - Gain scaling factors (Kv) for the VCO tuning varactors on both the integrated-path and feed forward path.
+// SYNTH_LPFILT3 - Value of resistor R2 in feed-forward path of loop filter.
+// SYNTH_LPFILT2 - Value of capacitor C2 in feed-forward path of loop filter.
+// SYNTH_LPFILT1 - Value of capacitors C1 and C3 in feed-forward path of loop filter.
+// SYNTH_LPFILT0 - Bias current of the active amplifier in the feed-forward loop filter.
+*/
+#define RF_SYNTH_PFDCP_CPFF_7 0x11, 0x23, 0x07, 0x00, 0x2C, 0x0E, 0x0B, 0x04, 0x0C, 0x73, 0x03
+
+/*
+// Set properties: RF_MATCH_VALUE_1_12
+// Number of properties: 12
+// Group ID: 0x30
+// Start ID: 0x00
+// Default values: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+// Descriptions:
+// MATCH_VALUE_1 - Match value to be compared with the result of logically AND-ing (bit-wise) the Mask 1 value with the received Match 1 byte.
+// MATCH_MASK_1 - Mask value to be logically AND-ed (bit-wise) with the Match 1 byte.
+// MATCH_CTRL_1 - Enable for Packet Match functionality, and configuration of Match Byte 1.
+// MATCH_VALUE_2 - Match value to be compared with the result of logically AND-ing (bit-wise) the Mask 2 value with the received Match 2 byte.
+// MATCH_MASK_2 - Mask value to be logically AND-ed (bit-wise) with the Match 2 byte.
+// MATCH_CTRL_2 - Configuration of Match Byte 2.
+// MATCH_VALUE_3 - Match value to be compared with the result of logically AND-ing (bit-wise) the Mask 3 value with the received Match 3 byte.
+// MATCH_MASK_3 - Mask value to be logically AND-ed (bit-wise) with the Match 3 byte.
+// MATCH_CTRL_3 - Configuration of Match Byte 3.
+// MATCH_VALUE_4 - Match value to be compared with the result of logically AND-ing (bit-wise) the Mask 4 value with the received Match 4 byte.
+// MATCH_MASK_4 - Mask value to be logically AND-ed (bit-wise) with the Match 4 byte.
+// MATCH_CTRL_4 - Configuration of Match Byte 4.
+*/
+#define RF_MATCH_VALUE_1_12 0x11, 0x30, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+/*
+// Set properties: RF_FREQ_CONTROL_INTE_8
+// Number of properties: 8
+// Group ID: 0x40
+// Start ID: 0x00
+// Default values: 0x3C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFF,
+// Descriptions:
+// FREQ_CONTROL_INTE - Frac-N PLL Synthesizer integer divide number.
+// FREQ_CONTROL_FRAC_2 - Frac-N PLL fraction number.
+// FREQ_CONTROL_FRAC_1 - Frac-N PLL fraction number.
+// FREQ_CONTROL_FRAC_0 - Frac-N PLL fraction number.
+// FREQ_CONTROL_CHANNEL_STEP_SIZE_1 - EZ Frequency Programming channel step size.
+// FREQ_CONTROL_CHANNEL_STEP_SIZE_0 - EZ Frequency Programming channel step size.
+// FREQ_CONTROL_W_SIZE - Set window gating period (in number of crystal reference clock cycles) for counting VCO frequency during calibration.
+// FREQ_CONTROL_VCOCNT_RX_ADJ - Adjust target count for VCO calibration in RX mode.
+*/
+#define RF_FREQ_CONTROL_INTE_8 0x11, 0x40, 0x08, 0x00, 0x39, 0x0A, 0xA7, 0xEF, 0x0A, 0x3D, 0x20, 0xFA
+
+
+// AUTOMATICALLY GENERATED CODE!
+// DO NOT EDIT/MODIFY BELOW THIS LINE!
+// --------------------------------------------
+
+#ifndef FIRMWARE_LOAD_COMPILE
+#define RADIO_CONFIGURATION_DATA_ARRAY { \
+ SI446X_PATCH_CMDS, \
+ 0x07, RF_POWER_UP, \
+ 0x08, RF_GPIO_PIN_CFG, \
+ 0x06, RF_GLOBAL_XO_TUNE_2, \
+ 0x05, RF_GLOBAL_CONFIG_1, \
+ 0x08, RF_INT_CTL_ENABLE_4, \
+ 0x08, RF_FRR_CTL_A_MODE_4, \
+ 0x0D, RF_PREAMBLE_TX_LENGTH_9, \
+ 0x0A, RF_SYNC_CONFIG_6, \
+ 0x10, RF_PKT_CRC_CONFIG_12, \
+ 0x10, RF_PKT_RX_THRESHOLD_12, \
+ 0x10, RF_PKT_FIELD_3_CRC_CONFIG_12, \
+ 0x10, RF_PKT_RX_FIELD_1_CRC_CONFIG_12, \
+ 0x09, RF_PKT_RX_FIELD_4_CRC_CONFIG_5, \
+ 0x08, RF_PKT_CRC_SEED_31_24_4, \
+ 0x10, RF_MODEM_MOD_TYPE_12, \
+ 0x05, RF_MODEM_FREQ_DEV_0_1, \
+ 0x10, RF_MODEM_TX_RAMP_DELAY_12, \
+ 0x10, RF_MODEM_BCR_NCO_OFFSET_2_12, \
+ 0x07, RF_MODEM_AFC_LIMITER_1_3, \
+ 0x05, RF_MODEM_AGC_CONTROL_1, \
+ 0x10, RF_MODEM_AGC_WINDOW_SIZE_12, \
+ 0x0E, RF_MODEM_RAW_CONTROL_10, \
+ 0x06, RF_MODEM_RAW_SEARCH2_2, \
+ 0x06, RF_MODEM_SPIKE_DET_2, \
+ 0x05, RF_MODEM_RSSI_MUTE_1, \
+ 0x09, RF_MODEM_DSA_CTRL1_5, \
+ 0x10, RF_MODEM_CHFLT_RX1_CHFLT_COE13_7_0_12, \
+ 0x10, RF_MODEM_CHFLT_RX1_CHFLT_COE1_7_0_12, \
+ 0x10, RF_MODEM_CHFLT_RX2_CHFLT_COE7_7_0_12, \
+ 0x05, RF_PA_TC_1, \
+ 0x0B, RF_SYNTH_PFDCP_CPFF_7, \
+ 0x10, RF_MATCH_VALUE_1_12, \
+ 0x0C, RF_FREQ_CONTROL_INTE_8, \
+ 0x00 \
+ }
+#else
+#define RADIO_CONFIGURATION_DATA_ARRAY { 0 }
+#endif
+
+// DEFAULT VALUES FOR CONFIGURATION PARAMETERS
+#define RADIO_CONFIGURATION_DATA_RADIO_XO_FREQ_DEFAULT 30000000L
+#define RADIO_CONFIGURATION_DATA_CHANNEL_NUMBER_DEFAULT 0x00
+#define RADIO_CONFIGURATION_DATA_RADIO_PACKET_LENGTH_DEFAULT 0x10
+#define RADIO_CONFIGURATION_DATA_RADIO_STATE_AFTER_POWER_UP_DEFAULT 0x01
+#define RADIO_CONFIGURATION_DATA_RADIO_DELAY_CNT_AFTER_RESET_DEFAULT 0x1000
+#define RADIO_CONFIGURATION_DATA_CUSTOM_PAYLOAD_DEFAULT {0x42, 0x55, 0x54, 0x54, 0x4F, 0x4E, 0x31} // BUTTON1
+
+#define RADIO_CONFIGURATION_DATA_RADIO_PATCH_INCLUDED 0x00
+#define RADIO_CONFIGURATION_DATA_RADIO_PATCH_SIZE 0x00
+#define RADIO_CONFIGURATION_DATA_RADIO_PATCH { }
+
+#ifndef RADIO_CONFIGURATION_DATA_ARRAY
+#error "This property must be defined!"
+#endif
+
+#ifndef RADIO_CONFIGURATION_DATA_RADIO_XO_FREQ
+#define RADIO_CONFIGURATION_DATA_RADIO_XO_FREQ RADIO_CONFIGURATION_DATA_RADIO_XO_FREQ_DEFAULT
+#endif
+
+#ifndef RADIO_CONFIGURATION_DATA_CHANNEL_NUMBER
+#define RADIO_CONFIGURATION_DATA_CHANNEL_NUMBER RADIO_CONFIGURATION_DATA_CHANNEL_NUMBER_DEFAULT
+#endif
+
+#ifndef RADIO_CONFIGURATION_DATA_RADIO_PACKET_LENGTH
+#define RADIO_CONFIGURATION_DATA_RADIO_PACKET_LENGTH RADIO_CONFIGURATION_DATA_RADIO_PACKET_LENGTH_DEFAULT
+#endif
+
+#ifndef RADIO_CONFIGURATION_DATA_RADIO_STATE_AFTER_POWER_UP
+#define RADIO_CONFIGURATION_DATA_RADIO_STATE_AFTER_POWER_UP RADIO_CONFIGURATION_DATA_RADIO_STATE_AFTER_POWER_UP_DEFAULT
+#endif
+
+#ifndef RADIO_CONFIGURATION_DATA_RADIO_DELAY_CNT_AFTER_RESET
+#define RADIO_CONFIGURATION_DATA_RADIO_DELAY_CNT_AFTER_RESET RADIO_CONFIGURATION_DATA_RADIO_DELAY_CNT_AFTER_RESET_DEFAULT
+#endif
+
+#ifndef RADIO_CONFIGURATION_DATA_CUSTOM_PAYLOAD
+#define RADIO_CONFIGURATION_DATA_CUSTOM_PAYLOAD RADIO_CONFIGURATION_DATA_CUSTOM_PAYLOAD_DEFAULT
+#endif
+
+#define RADIO_CONFIGURATION_DATA { \
+ Radio_Configuration_Data_Array, \
+ RADIO_CONFIGURATION_DATA_CHANNEL_NUMBER, \
+ RADIO_CONFIGURATION_DATA_RADIO_PACKET_LENGTH, \
+ RADIO_CONFIGURATION_DATA_RADIO_STATE_AFTER_POWER_UP, \
+ RADIO_CONFIGURATION_DATA_RADIO_DELAY_CNT_AFTER_RESET, \
+ RADIO_CONFIGURATION_DATA_CUSTOM_PAYLOAD \
+ }
+
+#endif /* RADIO_CONFIG_H_ */
diff --git a/STM32Project/Spino_bringup/Core/Inc/si446x_cmd.h b/STM32Project/Spino_bringup/Core/Inc/si446x_cmd.h
new file mode 100644
index 0000000000000000000000000000000000000000..160ce5722d1e9612cd08eda902c35ef23253a99c
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Inc/si446x_cmd.h
@@ -0,0 +1,3812 @@
+/*
+ * si446x_cmd.h
+ *
+ * Created on: Aug 31, 2022
+ * Author: nats
+ */
+
+/*
+ * Silicon Laboratories Confidential
+ * Copyright 2008-2014 Silicon Laboratories, Inc.
+ *
+ * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT!
+ *
+ * Generated from API Version:
+ * Interface Version: 1.0
+ * Document Version: 2.0.3
+ *
+ * Relevant to parts:
+ * Si4460_revC2A, Si4461_revC2A, Si4463_revC2A
+ *
+ */
+
+
+#ifndef SI446X_CMD_H
+#define SI446X_CMD_H
+
+#include
+
+typedef uint8_t U8;
+typedef uint16_t U16;
+typedef uint32_t U32;
+
+/* This section contains command map declarations */
+struct si446x_reply_GENERIC_map {
+ U8 REPLY[16];
+};
+
+struct si446x_reply_PART_INFO_map {
+ U8 CHIPREV;
+ U16 PART;
+ U8 PBUILD;
+ U16 ID;
+ U8 CUSTOMER;
+ U8 ROMID;
+};
+
+struct si446x_reply_FUNC_INFO_map {
+ U8 REVEXT;
+ U8 REVBRANCH;
+ U8 REVINT;
+ U8 FUNC;
+};
+
+struct si446x_reply_GET_PROPERTY_map {
+ U8 DATA[16];
+};
+
+struct si446x_reply_GPIO_PIN_CFG_map {
+ U8 GPIO[4];
+ U8 NIRQ;
+ U8 SDO;
+ U8 GEN_CONFIG;
+};
+
+struct si446x_reply_FIFO_INFO_map {
+ U8 RX_FIFO_COUNT;
+ U8 TX_FIFO_SPACE;
+};
+
+struct si446x_reply_GET_INT_STATUS_map {
+ U8 INT_PEND;
+ U8 INT_STATUS;
+ U8 PH_PEND;
+ U8 PH_STATUS;
+ U8 MODEM_PEND;
+ U8 MODEM_STATUS;
+ U8 CHIP_PEND;
+ U8 CHIP_STATUS;
+};
+
+struct si446x_reply_REQUEST_DEVICE_STATE_map {
+ U8 CURR_STATE;
+ U8 CURRENT_CHANNEL;
+};
+
+struct si446x_reply_READ_CMD_BUFF_map {
+ U8 BYTE[16];
+};
+
+struct si446x_reply_FRR_A_READ_map {
+ U8 FRR_A_VALUE;
+ U8 FRR_B_VALUE;
+ U8 FRR_C_VALUE;
+ U8 FRR_D_VALUE;
+};
+
+struct si446x_reply_FRR_B_READ_map {
+ U8 FRR_B_VALUE;
+ U8 FRR_C_VALUE;
+ U8 FRR_D_VALUE;
+ U8 FRR_A_VALUE;
+};
+
+struct si446x_reply_FRR_C_READ_map {
+ U8 FRR_C_VALUE;
+ U8 FRR_D_VALUE;
+ U8 FRR_A_VALUE;
+ U8 FRR_B_VALUE;
+};
+
+struct si446x_reply_FRR_D_READ_map {
+ U8 FRR_D_VALUE;
+ U8 FRR_A_VALUE;
+ U8 FRR_B_VALUE;
+ U8 FRR_C_VALUE;
+};
+
+struct si446x_reply_IRCAL_MANUAL_map {
+ U8 IRCAL_AMP_REPLY;
+ U8 IRCAL_PH_REPLY;
+};
+
+struct si446x_reply_PACKET_INFO_map {
+ U16 LENGTH;
+};
+
+struct si446x_reply_GET_MODEM_STATUS_map {
+ U8 MODEM_PEND;
+ U8 MODEM_STATUS;
+ U8 CURR_RSSI;
+ U8 LATCH_RSSI;
+ U8 ANT1_RSSI;
+ U8 ANT2_RSSI;
+ U16 AFC_FREQ_OFFSET;
+};
+
+struct si446x_reply_READ_RX_FIFO_map {
+ U8 DATA[2];
+};
+
+struct si446x_reply_GET_ADC_READING_map {
+ U16 GPIO_ADC;
+ U16 BATTERY_ADC;
+ U16 TEMP_ADC;
+};
+
+struct si446x_reply_GET_PH_STATUS_map {
+ U8 PH_PEND;
+ U8 PH_STATUS;
+};
+
+struct si446x_reply_GET_CHIP_STATUS_map {
+ U8 CHIP_PEND;
+ U8 CHIP_STATUS;
+ U8 CMD_ERR_STATUS;
+ U8 CMD_ERR_CMD_ID;
+};
+
+enum
+{
+ SI446X_SUCCESS,
+ SI446X_NO_PATCH,
+ SI446X_CTS_TIMEOUT,
+ SI446X_PATCH_FAIL,
+ SI446X_COMMAND_ERROR
+};
+
+/* The union that stores the reply written back to the host registers */
+union si446x_cmd_reply_union {
+ U8 RAW[16];
+ struct si446x_reply_GENERIC_map GENERIC;
+ struct si446x_reply_PART_INFO_map PART_INFO;
+ struct si446x_reply_FUNC_INFO_map FUNC_INFO;
+ struct si446x_reply_GET_PROPERTY_map GET_PROPERTY;
+ struct si446x_reply_GPIO_PIN_CFG_map GPIO_PIN_CFG;
+ struct si446x_reply_FIFO_INFO_map FIFO_INFO;
+ struct si446x_reply_GET_INT_STATUS_map GET_INT_STATUS;
+ struct si446x_reply_REQUEST_DEVICE_STATE_map REQUEST_DEVICE_STATE;
+ struct si446x_reply_READ_CMD_BUFF_map READ_CMD_BUFF;
+ struct si446x_reply_FRR_A_READ_map FRR_A_READ;
+ struct si446x_reply_FRR_B_READ_map FRR_B_READ;
+ struct si446x_reply_FRR_C_READ_map FRR_C_READ;
+ struct si446x_reply_FRR_D_READ_map FRR_D_READ;
+ struct si446x_reply_IRCAL_MANUAL_map IRCAL_MANUAL;
+ struct si446x_reply_PACKET_INFO_map PACKET_INFO;
+ struct si446x_reply_GET_MODEM_STATUS_map GET_MODEM_STATUS;
+ struct si446x_reply_READ_RX_FIFO_map READ_RX_FIFO;
+ struct si446x_reply_GET_ADC_READING_map GET_ADC_READING;
+ struct si446x_reply_GET_PH_STATUS_map GET_PH_STATUS;
+ struct si446x_reply_GET_CHIP_STATUS_map GET_CHIP_STATUS;
+};
+
+/* boot commands */
+
+#define SI446X_CMD_ID_POWER_UP 0x02
+/* POWER_UP ARGS */
+#define SI446X_CMD_ARG_COUNT_POWER_UP 7
+ /* macros for entire ARG BOOT_OPTIONS access of type U8 */
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_TYPE U8
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_SIZE 8
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_MASK 0xff
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_MSB 7
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_LSB 0
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_INDEX 1
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_value (((cmd.arg.POWER_UP.BOOT_OPTIONS)))
+ /* macros for field PATCH access */
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_PATCH_TYPE enum
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_PATCH_SIZE 1
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_PATCH_MASK 0x80
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_PATCH_BIT 0x80
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_PATCH_MSB 7
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_PATCH_LSB 7
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_PATCH_INDEX 1
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_PATCH_is_true (cmd.arg.POWER_UP.BOOT_OPTIONS & 0x80)
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_PATCH_value (((cmd.arg.POWER_UP.BOOT_OPTIONS & 0x80)) >> 7)
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_PATCH_ENUM_NO_PATCH 0
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_PATCH_ENUM_PATCH 1
+ /* macros for field FUNC access */
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_FUNC_TYPE enum
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_FUNC_SIZE 6
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_FUNC_MASK 0x3f
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_FUNC_MSB 5
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_FUNC_LSB 0
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_FUNC_INDEX 1
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_FUNC_value (((cmd.arg.POWER_UP.BOOT_OPTIONS & 0x3f)))
+ #define SI446X_CMD_POWER_UP_ARG_BOOT_OPTIONS_FUNC_ENUM_PRO 1
+ /* macros for entire ARG XTAL_OPTIONS access of type U8 */
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TYPE U8
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_SIZE 8
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_MASK 0xff
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_MSB 7
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_LSB 0
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_INDEX 2
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_value (((cmd.arg.POWER_UP.XTAL_OPTIONS)))
+ /* macros for field TCXO access */
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TCXO_TYPE enum
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TCXO_SIZE 1
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TCXO_MASK 0x1
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TCXO_BIT 0x1
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TCXO_MSB 0
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TCXO_LSB 0
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TCXO_INDEX 2
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TCXO_is_true (cmd.arg.POWER_UP.XTAL_OPTIONS & 0x1)
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TCXO_value (((cmd.arg.POWER_UP.XTAL_OPTIONS & 0x1)))
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TCXO_ENUM_XTAL 0
+ #define SI446X_CMD_POWER_UP_ARG_XTAL_OPTIONS_TCXO_ENUM_TCXO 1
+ /* macros for entire ARG XO_FREQ access of type U32 */
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_TYPE U32
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_SIZE 32
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_MASK 0xffffffff
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_MSB 31
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_LSB 0
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_INDEX 3
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_value (((cmd.arg.POWER_UP.XO_FREQ)))
+ /* macros for field XO_FREQ access */
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_XO_FREQ_TYPE U32
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_XO_FREQ_SIZE 32
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_XO_FREQ_MASK 0xffffffff
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_XO_FREQ_MSB 31
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_XO_FREQ_LSB 0
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_XO_FREQ_INDEX 3
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_XO_FREQ_MIN 0x17d7840
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_XO_FREQ_MAX 0x1e84800
+ #define SI446X_CMD_POWER_UP_ARG_XO_FREQ_XO_FREQ_value (((cmd.arg.POWER_UP.XO_FREQ & 0xffffffff)))
+/* POWER_UP REPLY */
+#define SI446X_CMD_REPLY_COUNT_POWER_UP 0
+/* common commands */
+
+#define SI446X_CMD_ID_NOP 0x00
+/* NOP ARGS */
+#define SI446X_CMD_ARG_COUNT_NOP 1
+/* NOP REPLY */
+#define SI446X_CMD_REPLY_COUNT_NOP 0
+#define SI446X_CMD_ID_PART_INFO 0x01
+/* PART_INFO ARGS */
+#define SI446X_CMD_ARG_COUNT_PART_INFO 1
+/* PART_INFO REPLY */
+#define SI446X_CMD_REPLY_COUNT_PART_INFO 8
+ /* macros for entire REPLY CHIPREV access of type U8 */
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_TYPE U8
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_SIZE 8
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_MASK 0xff
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_MSB 7
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_INDEX 1
+ /* macros for field CHIPREV access */
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_CHIPREV_TYPE U8
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_CHIPREV_SIZE 8
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_CHIPREV_MASK 0xff
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_CHIPREV_MSB 7
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_CHIPREV_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_CHIPREV_CHIPREV_INDEX 1
+ /* macros for entire REPLY PART access of type U16 */
+ #define SI446X_CMD_PART_INFO_REP_PART_TYPE U16
+ #define SI446X_CMD_PART_INFO_REP_PART_SIZE 16
+ #define SI446X_CMD_PART_INFO_REP_PART_MASK 0xffff
+ #define SI446X_CMD_PART_INFO_REP_PART_MSB 15
+ #define SI446X_CMD_PART_INFO_REP_PART_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_PART_INDEX 2
+ /* macros for field PART access */
+ #define SI446X_CMD_PART_INFO_REP_PART_PART_TYPE U16
+ #define SI446X_CMD_PART_INFO_REP_PART_PART_SIZE 16
+ #define SI446X_CMD_PART_INFO_REP_PART_PART_MASK 0xffff
+ #define SI446X_CMD_PART_INFO_REP_PART_PART_MSB 15
+ #define SI446X_CMD_PART_INFO_REP_PART_PART_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_PART_PART_INDEX 2
+ /* macros for entire REPLY PBUILD access of type U8 */
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_TYPE U8
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_SIZE 8
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_MASK 0xff
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_MSB 7
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_INDEX 4
+ /* macros for field PBUILD access */
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_PBUILD_TYPE U8
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_PBUILD_SIZE 8
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_PBUILD_MASK 0xff
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_PBUILD_MSB 7
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_PBUILD_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_PBUILD_PBUILD_INDEX 4
+ /* macros for entire REPLY ID access of type U16 */
+ #define SI446X_CMD_PART_INFO_REP_ID_TYPE U16
+ #define SI446X_CMD_PART_INFO_REP_ID_SIZE 16
+ #define SI446X_CMD_PART_INFO_REP_ID_MASK 0xffff
+ #define SI446X_CMD_PART_INFO_REP_ID_MSB 15
+ #define SI446X_CMD_PART_INFO_REP_ID_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_ID_INDEX 5
+ /* macros for field ID access */
+ #define SI446X_CMD_PART_INFO_REP_ID_ID_TYPE U16
+ #define SI446X_CMD_PART_INFO_REP_ID_ID_SIZE 16
+ #define SI446X_CMD_PART_INFO_REP_ID_ID_MASK 0xffff
+ #define SI446X_CMD_PART_INFO_REP_ID_ID_MSB 15
+ #define SI446X_CMD_PART_INFO_REP_ID_ID_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_ID_ID_INDEX 5
+ /* macros for entire REPLY CUSTOMER access of type U8 */
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_TYPE U8
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_SIZE 8
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_MASK 0xff
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_MSB 7
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_INDEX 7
+ /* macros for field CUSTOMER access */
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_CUSTOMER_TYPE U8
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_CUSTOMER_SIZE 8
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_CUSTOMER_MASK 0xff
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_CUSTOMER_MSB 7
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_CUSTOMER_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_CUSTOMER_CUSTOMER_INDEX 7
+ /* macros for entire REPLY ROMID access of type U8 */
+ #define SI446X_CMD_PART_INFO_REP_ROMID_TYPE U8
+ #define SI446X_CMD_PART_INFO_REP_ROMID_SIZE 8
+ #define SI446X_CMD_PART_INFO_REP_ROMID_MASK 0xff
+ #define SI446X_CMD_PART_INFO_REP_ROMID_MSB 7
+ #define SI446X_CMD_PART_INFO_REP_ROMID_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_ROMID_INDEX 8
+ /* macros for field ROMID access */
+ #define SI446X_CMD_PART_INFO_REP_ROMID_ROMID_TYPE U8
+ #define SI446X_CMD_PART_INFO_REP_ROMID_ROMID_SIZE 8
+ #define SI446X_CMD_PART_INFO_REP_ROMID_ROMID_MASK 0xff
+ #define SI446X_CMD_PART_INFO_REP_ROMID_ROMID_MSB 7
+ #define SI446X_CMD_PART_INFO_REP_ROMID_ROMID_LSB 0
+ #define SI446X_CMD_PART_INFO_REP_ROMID_ROMID_INDEX 8
+#define SI446X_CMD_ID_FUNC_INFO 0x10
+/* FUNC_INFO ARGS */
+#define SI446X_CMD_ARG_COUNT_FUNC_INFO 1
+/* FUNC_INFO REPLY */
+#define SI446X_CMD_REPLY_COUNT_FUNC_INFO 6
+ /* macros for entire REPLY REVEXT access of type U8 */
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_TYPE U8
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_SIZE 8
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_MASK 0xff
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_MSB 7
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_LSB 0
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_INDEX 1
+ /* macros for field REVEXT access */
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_REVEXT_TYPE U8
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_REVEXT_SIZE 8
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_REVEXT_MASK 0xff
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_REVEXT_MSB 7
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_REVEXT_LSB 0
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_REVEXT_INDEX 1
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_REVEXT_MIN 0x0
+ #define SI446X_CMD_FUNC_INFO_REP_REVEXT_REVEXT_MAX 0xff
+ /* macros for entire REPLY REVBRANCH access of type U8 */
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_TYPE U8
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_SIZE 8
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_MASK 0xff
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_MSB 7
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_LSB 0
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_INDEX 2
+ /* macros for field REVBRANCH access */
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_REVBRANCH_TYPE U8
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_REVBRANCH_SIZE 8
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_REVBRANCH_MASK 0xff
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_REVBRANCH_MSB 7
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_REVBRANCH_LSB 0
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_REVBRANCH_INDEX 2
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_REVBRANCH_MIN 0x0
+ #define SI446X_CMD_FUNC_INFO_REP_REVBRANCH_REVBRANCH_MAX 0xff
+ /* macros for entire REPLY REVINT access of type U8 */
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_TYPE U8
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_SIZE 8
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_MASK 0xff
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_MSB 7
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_LSB 0
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_INDEX 3
+ /* macros for field REVINT access */
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_REVINT_TYPE U8
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_REVINT_SIZE 8
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_REVINT_MASK 0xff
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_REVINT_MSB 7
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_REVINT_LSB 0
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_REVINT_INDEX 3
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_REVINT_MIN 0x0
+ #define SI446X_CMD_FUNC_INFO_REP_REVINT_REVINT_MAX 0xff
+ /* macros for entire REPLY FUNC access of type U8 */
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_TYPE U8
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_SIZE 8
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_MASK 0xff
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_MSB 7
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_LSB 0
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_INDEX 6
+ /* macros for field FUNC access */
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_FUNC_TYPE U8
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_FUNC_SIZE 8
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_FUNC_MASK 0xff
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_FUNC_MSB 7
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_FUNC_LSB 0
+ #define SI446X_CMD_FUNC_INFO_REP_FUNC_FUNC_INDEX 6
+#define SI446X_CMD_ID_SET_PROPERTY 0x11
+/* SET_PROPERTY ARGS */
+#define SI446X_CMD_ARG_COUNT_SET_PROPERTY 16
+ /* macros for entire ARG GROUP access of type U8 */
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_TYPE U8
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_SIZE 8
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_MASK 0xff
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_MSB 7
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_LSB 0
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_INDEX 1
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_value (((cmd.arg.SET_PROPERTY.GROUP)))
+ /* macros for field GROUP access */
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_GROUP_TYPE U8
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_GROUP_SIZE 8
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_GROUP_MASK 0xff
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_GROUP_MSB 7
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_GROUP_LSB 0
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_GROUP_INDEX 1
+ #define SI446X_CMD_SET_PROPERTY_ARG_GROUP_GROUP_value (((cmd.arg.SET_PROPERTY.GROUP & 0xff)))
+ /* macros for entire ARG NUM_PROPS access of type U8 */
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_TYPE U8
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_SIZE 8
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_MASK 0xff
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_MSB 7
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_LSB 0
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_INDEX 2
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_value (((cmd.arg.SET_PROPERTY.NUM_PROPS)))
+ /* macros for field NUM_PROPS access */
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_TYPE U8
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_SIZE 8
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_MASK 0xff
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_MSB 7
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_LSB 0
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_INDEX 2
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_MIN 0x1
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_MAX 0xc
+ #define SI446X_CMD_SET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_value (((cmd.arg.SET_PROPERTY.NUM_PROPS & 0xff)))
+ /* macros for entire ARG START_PROP access of type U8 */
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_TYPE U8
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_SIZE 8
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_MASK 0xff
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_MSB 7
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_LSB 0
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_INDEX 3
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_value (((cmd.arg.SET_PROPERTY.START_PROP)))
+ /* macros for field START_PROP access */
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_START_PROP_TYPE U8
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_START_PROP_SIZE 8
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_START_PROP_MASK 0xff
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_START_PROP_MSB 7
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_START_PROP_LSB 0
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_START_PROP_INDEX 3
+ #define SI446X_CMD_SET_PROPERTY_ARG_START_PROP_START_PROP_value (((cmd.arg.SET_PROPERTY.START_PROP & 0xff)))
+ /* macros for entire ARG DATA access of type U8 */
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_TYPE U8
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_SIZE 8
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_MASK 0xff
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_MSB 7
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_LSB 0
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_INDEX 4
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_ARRAY_LEN 12
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_value(i) (((cmd.arg.SET_PROPERTY.DATA[(i)])))
+ /* macros for field DATA access */
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_DATA_TYPE U8
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_DATA_SIZE 8
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_DATA_MASK 0xff
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_DATA_MSB 7
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_DATA_LSB 0
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_DATA_INDEX 4
+ #define SI446X_CMD_SET_PROPERTY_ARG_DATA_DATA_value(i) (((cmd.arg.SET_PROPERTY.DATA[(i)] & 0xff)))
+/* SET_PROPERTY REPLY */
+#define SI446X_CMD_REPLY_COUNT_SET_PROPERTY 0
+#define SI446X_CMD_ID_GET_PROPERTY 0x12
+/* GET_PROPERTY ARGS */
+#define SI446X_CMD_ARG_COUNT_GET_PROPERTY 4
+ /* macros for entire ARG GROUP access of type U8 */
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_TYPE U8
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_SIZE 8
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_MASK 0xff
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_MSB 7
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_LSB 0
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_INDEX 1
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_value (((cmd.arg.GET_PROPERTY.GROUP)))
+ /* macros for field GROUP access */
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_GROUP_TYPE U8
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_GROUP_SIZE 8
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_GROUP_MASK 0xff
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_GROUP_MSB 7
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_GROUP_LSB 0
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_GROUP_INDEX 1
+ #define SI446X_CMD_GET_PROPERTY_ARG_GROUP_GROUP_value (((cmd.arg.GET_PROPERTY.GROUP & 0xff)))
+ /* macros for entire ARG NUM_PROPS access of type U8 */
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_TYPE U8
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_SIZE 8
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_MASK 0xff
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_MSB 7
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_LSB 0
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_INDEX 2
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_value (((cmd.arg.GET_PROPERTY.NUM_PROPS)))
+ /* macros for field NUM_PROPS access */
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_TYPE U8
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_SIZE 8
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_MASK 0xff
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_MSB 7
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_LSB 0
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_INDEX 2
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_MIN 0x1
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_MAX 0x10
+ #define SI446X_CMD_GET_PROPERTY_ARG_NUM_PROPS_NUM_PROPS_value (((cmd.arg.GET_PROPERTY.NUM_PROPS & 0xff)))
+ /* macros for entire ARG START_PROP access of type U8 */
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_TYPE U8
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_SIZE 8
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_MASK 0xff
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_MSB 7
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_LSB 0
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_INDEX 3
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_value (((cmd.arg.GET_PROPERTY.START_PROP)))
+ /* macros for field START_PROP access */
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_START_PROP_TYPE U8
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_START_PROP_SIZE 8
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_START_PROP_MASK 0xff
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_START_PROP_MSB 7
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_START_PROP_LSB 0
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_START_PROP_INDEX 3
+ #define SI446X_CMD_GET_PROPERTY_ARG_START_PROP_START_PROP_value (((cmd.arg.GET_PROPERTY.START_PROP & 0xff)))
+/* GET_PROPERTY REPLY */
+#define SI446X_CMD_REPLY_COUNT_GET_PROPERTY 16
+ /* macros for entire REPLY DATA access of type U8 */
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_TYPE U8
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_SIZE 8
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_MASK 0xff
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_MSB 7
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_LSB 0
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_INDEX 1
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_ARRAY_LEN 16
+ /* macros for field DATA access */
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_DATA_TYPE U8
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_DATA_SIZE 8
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_DATA_MASK 0xff
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_DATA_MSB 7
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_DATA_LSB 0
+ #define SI446X_CMD_GET_PROPERTY_REP_DATA_DATA_INDEX 1
+#define SI446X_CMD_ID_GPIO_PIN_CFG 0x13
+/* GPIO_PIN_CFG ARGS */
+#define SI446X_CMD_ARG_COUNT_GPIO_PIN_CFG 8
+ /* macros for entire ARG GPIO access of type U8 */
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_TYPE U8
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_SIZE 8
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_MASK 0xff
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_MSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_INDEX 1
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_ARRAY_LEN 4
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_value(i) (((cmd.arg.GPIO_PIN_CFG.GPIO[(i)])))
+ /* macros for field PULL_CTL access */
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_PULL_CTL_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_PULL_CTL_SIZE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_PULL_CTL_MASK 0x40
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_PULL_CTL_BIT 0x40
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_PULL_CTL_MSB 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_PULL_CTL_LSB 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_PULL_CTL_INDEX 1
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_PULL_CTL_is_true(i) (cmd.arg.GPIO_PIN_CFG.GPIO[(i)] & 0x40)
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_PULL_CTL_value(i) (((cmd.arg.GPIO_PIN_CFG.GPIO[(i)] & 0x40)) >> 6)
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_PULL_CTL_ENUM_PULL_DIS 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_PULL_CTL_ENUM_PULL_EN 1
+ /* macros for field GPIO_MODE access */
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_SIZE 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_MASK 0x3f
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_MSB 5
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_INDEX 1
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_value(i) (((cmd.arg.GPIO_PIN_CFG.GPIO[(i)] & 0x3f)))
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_DONOTHING 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_TRISTATE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_DRIVE0 2
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_DRIVE1 3
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_INPUT 4
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_32K_CLK 5
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_BOOT_CLK 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_DIV_CLK 7
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_CTS 8
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_INV_CTS 9
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_CMD_OVERLAP 10
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_SDO 11
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_POR 12
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_CAL_WUT 13
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_WUT 14
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_EN_PA 15
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_TX_DATA_CLK 16
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_RX_DATA_CLK 17
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_EN_LNA 18
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_TX_DATA 19
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_RX_DATA 20
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_RX_RAW_DATA 21
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_ANTENNA_1_SW 22
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_ANTENNA_2_SW 23
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_VALID_PREAMBLE 24
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_INVALID_PREAMBLE 25
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_SYNC_WORD_DETECT 26
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_CCA 27
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_IN_SLEEP 28
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_TX_RX_DATA_CLK 31
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_TX_STATE 32
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_RX_STATE 33
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_RX_FIFO_FULL 34
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_TX_FIFO_EMPTY 35
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_LOW_BATT 36
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_CCA_LATCH 37
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_HOPPED 38
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GPIO_GPIO_MODE_ENUM_HOP_TABLE_WRAP 39
+ /* macros for entire ARG NIRQ access of type U8 */
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_TYPE U8
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_SIZE 8
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_MASK 0xff
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_MSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_INDEX 5
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_value (((cmd.arg.GPIO_PIN_CFG.NIRQ)))
+ /* macros for field PULL_CTL access */
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_PULL_CTL_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_PULL_CTL_SIZE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_PULL_CTL_MASK 0x40
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_PULL_CTL_BIT 0x40
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_PULL_CTL_MSB 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_PULL_CTL_LSB 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_PULL_CTL_INDEX 5
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_PULL_CTL_is_true (cmd.arg.GPIO_PIN_CFG.NIRQ & 0x40)
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_PULL_CTL_value (((cmd.arg.GPIO_PIN_CFG.NIRQ & 0x40)) >> 6)
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_PULL_CTL_ENUM_PULL_DIS 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_PULL_CTL_ENUM_PULL_EN 1
+ /* macros for field NIRQ_MODE access */
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_SIZE 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_MASK 0x3f
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_MSB 5
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_INDEX 5
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_value (((cmd.arg.GPIO_PIN_CFG.NIRQ & 0x3f)))
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_DONOTHING 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_TRISTATE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_DRIVE0 2
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_DRIVE1 3
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_INPUT 4
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_DIV_CLK 7
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_CTS 8
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_SDO 11
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_POR 12
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_EN_PA 15
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_TX_DATA_CLK 16
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_RX_DATA_CLK 17
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_EN_LNA 18
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_TX_DATA 19
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_RX_DATA 20
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_RX_RAW_DATA 21
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_ANTENNA_1_SW 22
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_ANTENNA_2_SW 23
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_VALID_PREAMBLE 24
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_INVALID_PREAMBLE 25
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_SYNC_WORD_DETECT 26
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_CCA 27
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_TX_RX_DATA_CLK 31
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_NIRQ_NIRQ_MODE_ENUM_NIRQ 39
+ /* macros for entire ARG SDO access of type U8 */
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_TYPE U8
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SIZE 8
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_MASK 0xff
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_MSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_INDEX 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_value (((cmd.arg.GPIO_PIN_CFG.SDO)))
+ /* macros for field PULL_CTL access */
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_PULL_CTL_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_PULL_CTL_SIZE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_PULL_CTL_MASK 0x40
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_PULL_CTL_BIT 0x40
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_PULL_CTL_MSB 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_PULL_CTL_LSB 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_PULL_CTL_INDEX 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_PULL_CTL_is_true (cmd.arg.GPIO_PIN_CFG.SDO & 0x40)
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_PULL_CTL_value (((cmd.arg.GPIO_PIN_CFG.SDO & 0x40)) >> 6)
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_PULL_CTL_ENUM_PULL_DIS 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_PULL_CTL_ENUM_PULL_EN 1
+ /* macros for field SDO_MODE access */
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_SIZE 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_MASK 0x3f
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_MSB 5
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_INDEX 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_value (((cmd.arg.GPIO_PIN_CFG.SDO & 0x3f)))
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_DONOTHING 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_TRISTATE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_DRIVE0 2
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_DRIVE1 3
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_INPUT 4
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_32K_CLK 5
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_DIV_CLK 7
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_CTS 8
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_SDO 11
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_POR 12
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_WUT 14
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_EN_PA 15
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_TX_DATA_CLK 16
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_RX_DATA_CLK 17
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_EN_LNA 18
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_TX_DATA 19
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_RX_DATA 20
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_RX_RAW_DATA 21
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_ANTENNA_1_SW 22
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_ANTENNA_2_SW 23
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_VALID_PREAMBLE 24
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_INVALID_PREAMBLE 25
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_SYNC_WORD_DETECT 26
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_SDO_SDO_MODE_ENUM_CCA 27
+ /* macros for entire ARG GEN_CONFIG access of type U8 */
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_TYPE U8
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_SIZE 8
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_MASK 0xff
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_MSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_INDEX 7
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_value (((cmd.arg.GPIO_PIN_CFG.GEN_CONFIG)))
+ /* macros for field DRV_STRENGTH access */
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_DRV_STRENGTH_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_DRV_STRENGTH_SIZE 2
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_DRV_STRENGTH_MASK 0x60
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_DRV_STRENGTH_MSB 6
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_DRV_STRENGTH_LSB 5
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_DRV_STRENGTH_INDEX 7
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_DRV_STRENGTH_value (((cmd.arg.GPIO_PIN_CFG.GEN_CONFIG & 0x60)) >> 5)
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_DRV_STRENGTH_ENUM_HIGH 0
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_DRV_STRENGTH_ENUM_MED_HIGH 1
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_DRV_STRENGTH_ENUM_MED_LOW 2
+ #define SI446X_CMD_GPIO_PIN_CFG_ARG_GEN_CONFIG_DRV_STRENGTH_ENUM_LOW 3
+/* GPIO_PIN_CFG REPLY */
+#define SI446X_CMD_REPLY_COUNT_GPIO_PIN_CFG 7
+ /* macros for entire REPLY GPIO access of type U8 */
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_TYPE U8
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_SIZE 8
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_MASK 0xff
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_MSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_INDEX 1
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_ARRAY_LEN 4
+ /* macros for field GPIO_STATE access */
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_STATE_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_STATE_SIZE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_STATE_MASK 0x80
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_STATE_BIT 0x80
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_STATE_MSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_STATE_LSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_STATE_INDEX 1
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_STATE_ENUM_INACTIVE 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_STATE_ENUM_ACTIVE 1
+ /* macros for field GPIO_MODE access */
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_SIZE 6
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_MASK 0x3f
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_MSB 5
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_INDEX 1
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_DONOTHING 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_TRISTATE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_DRIVE0 2
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_DRIVE1 3
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_INPUT 4
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_32K_CLK 5
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_BOOT_CLK 6
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_DIV_CLK 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_CTS 8
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_INV_CTS 9
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_CMD_OVERLAP 10
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_SDO 11
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_POR 12
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_CAL_WUT 13
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_WUT 14
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_EN_PA 15
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_TX_DATA_CLK 16
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_RX_DATA_CLK 17
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_EN_LNA 18
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_TX_DATA 19
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_RX_DATA 20
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_RX_RAW_DATA 21
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_ANTENNA_1_SW 22
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_ANTENNA_2_SW 23
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_VALID_PREAMBLE 24
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_INVALID_PREAMBLE 25
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_SYNC_WORD_DETECT 26
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_CCA 27
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_IN_SLEEP 28
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_TX_RX_DATA_CLK 31
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_TX_STATE 32
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_RX_STATE 33
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_RX_FIFO_FULL 34
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_TX_FIFO_EMPTY 35
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_LOW_BATT 36
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_CCA_LATCH 37
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_HOPPED 38
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GPIO_GPIO_MODE_ENUM_HOP_TABLE_WRAP 39
+ /* macros for entire REPLY NIRQ access of type U8 */
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_TYPE U8
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_SIZE 8
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_MASK 0xff
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_MSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_INDEX 5
+ /* macros for field NIRQ_STATE access */
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_STATE_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_STATE_SIZE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_STATE_MASK 0x80
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_STATE_BIT 0x80
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_STATE_MSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_STATE_LSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_STATE_INDEX 5
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_STATE_ENUM_INACTIVE 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_STATE_ENUM_ACTIVE 1
+ /* macros for field NIRQ_MODE access */
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_SIZE 6
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_MASK 0x3f
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_MSB 5
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_INDEX 5
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_DONOTHING 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_TRISTATE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_DRIVE0 2
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_DRIVE1 3
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_INPUT 4
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_DIV_CLK 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_CTS 8
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_SDO 11
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_POR 12
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_EN_PA 15
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_TX_DATA_CLK 16
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_RX_DATA_CLK 17
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_EN_LNA 18
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_TX_DATA 19
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_RX_DATA 20
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_RX_RAW_DATA 21
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_ANTENNA_1_SW 22
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_ANTENNA_2_SW 23
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_VALID_PREAMBLE 24
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_INVALID_PREAMBLE 25
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_SYNC_WORD_DETECT 26
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_CCA 27
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_TX_RX_DATA_CLK 31
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_NIRQ_NIRQ_MODE_ENUM_NIRQ 39
+ /* macros for entire REPLY SDO access of type U8 */
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_TYPE U8
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SIZE 8
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_MASK 0xff
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_MSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_INDEX 6
+ /* macros for field SDO_STATE access */
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_STATE_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_STATE_SIZE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_STATE_MASK 0x80
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_STATE_BIT 0x80
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_STATE_MSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_STATE_LSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_STATE_INDEX 6
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_STATE_ENUM_INACTIVE 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_STATE_ENUM_ACTIVE 1
+ /* macros for field SDO_MODE access */
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_SIZE 6
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_MASK 0x3f
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_MSB 5
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_INDEX 6
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_DONOTHING 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_TRISTATE 1
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_DRIVE0 2
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_DRIVE1 3
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_INPUT 4
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_32K_CLK 5
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_DIV_CLK 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_CTS 8
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_SDO 11
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_POR 12
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_WUT 14
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_EN_PA 15
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_TX_DATA_CLK 16
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_RX_DATA_CLK 17
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_EN_LNA 18
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_TX_DATA 19
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_RX_DATA 20
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_RX_RAW_DATA 21
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_ANTENNA_1_SW 22
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_ANTENNA_2_SW 23
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_VALID_PREAMBLE 24
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_INVALID_PREAMBLE 25
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_SYNC_WORD_DETECT 26
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_SDO_SDO_MODE_ENUM_CCA 27
+ /* macros for entire REPLY GEN_CONFIG access of type U8 */
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_TYPE U8
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_SIZE 8
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_MASK 0xff
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_MSB 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_LSB 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_INDEX 7
+ /* macros for field DRV_STRENGTH access */
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_DRV_STRENGTH_TYPE enum
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_DRV_STRENGTH_SIZE 2
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_DRV_STRENGTH_MASK 0x60
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_DRV_STRENGTH_MSB 6
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_DRV_STRENGTH_LSB 5
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_DRV_STRENGTH_INDEX 7
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_DRV_STRENGTH_ENUM_HIGH 0
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_DRV_STRENGTH_ENUM_MED_HIGH 1
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_DRV_STRENGTH_ENUM_MED_LOW 2
+ #define SI446X_CMD_GPIO_PIN_CFG_REP_GEN_CONFIG_DRV_STRENGTH_ENUM_LOW 3
+#define SI446X_CMD_ID_FIFO_INFO 0x15
+/* FIFO_INFO ARGS */
+#define SI446X_CMD_ARG_COUNT_FIFO_INFO 2
+ /* macros for entire ARG FIFO access of type U8 */
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TYPE U8
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_SIZE 8
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_MASK 0xff
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_MSB 7
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_LSB 0
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_INDEX 1
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_value (((cmd.arg.FIFO_INFO.FIFO)))
+ /* macros for field RX access */
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_TYPE enum
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_SIZE 1
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_MASK 0x2
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_BIT 0x2
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_MSB 1
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_LSB 1
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_INDEX 1
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_is_true (cmd.arg.FIFO_INFO.FIFO & 0x2)
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_value (((cmd.arg.FIFO_INFO.FIFO & 0x2)) >> 1)
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_ENUM_FALSE 0
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_ENUM_TRUE 1
+ /* macros for field TX access */
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TX_TYPE enum
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TX_SIZE 1
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TX_MASK 0x1
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TX_BIT 0x1
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TX_MSB 0
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TX_LSB 0
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TX_INDEX 1
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TX_is_true (cmd.arg.FIFO_INFO.FIFO & 0x1)
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TX_value (((cmd.arg.FIFO_INFO.FIFO & 0x1)))
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TX_ENUM_FALSE 0
+ #define SI446X_CMD_FIFO_INFO_ARG_FIFO_TX_ENUM_TRUE 1
+/* FIFO_INFO REPLY */
+#define SI446X_CMD_REPLY_COUNT_FIFO_INFO 2
+ /* macros for entire REPLY RX_FIFO_COUNT access of type U8 */
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_TYPE U8
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_SIZE 8
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_MASK 0xff
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_MSB 7
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_LSB 0
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_INDEX 1
+ /* macros for field RX_FIFO_COUNT access */
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_RX_FIFO_COUNT_TYPE U8
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_RX_FIFO_COUNT_SIZE 8
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_RX_FIFO_COUNT_MASK 0xff
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_RX_FIFO_COUNT_MSB 7
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_RX_FIFO_COUNT_LSB 0
+ #define SI446X_CMD_FIFO_INFO_REP_RX_FIFO_COUNT_RX_FIFO_COUNT_INDEX 1
+ /* macros for entire REPLY TX_FIFO_SPACE access of type U8 */
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_TYPE U8
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_SIZE 8
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_MASK 0xff
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_MSB 7
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_LSB 0
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_INDEX 2
+ /* macros for field TX_FIFO_SPACE access */
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_TX_FIFO_SPACE_TYPE U8
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_TX_FIFO_SPACE_SIZE 8
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_TX_FIFO_SPACE_MASK 0xff
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_TX_FIFO_SPACE_MSB 7
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_TX_FIFO_SPACE_LSB 0
+ #define SI446X_CMD_FIFO_INFO_REP_TX_FIFO_SPACE_TX_FIFO_SPACE_INDEX 2
+#define SI446X_CMD_ID_GET_INT_STATUS 0x20
+/* GET_INT_STATUS ARGS */
+#define SI446X_CMD_ARG_COUNT_GET_INT_STATUS 4
+ /* macros for entire ARG PH_CLR_PEND access of type U8 */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_TYPE U8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_SIZE 8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_MASK 0xff
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_INDEX 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_value (((cmd.arg.GET_INT_STATUS.PH_CLR_PEND)))
+ /* macros for field FILTER_MATCH_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_MASK 0x80
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_BIT 0x80
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_LSB 7
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x80)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x80)) >> 7)
+ /* macros for field FILTER_MISS_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_MASK 0x40
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_BIT 0x40
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_MSB 6
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_LSB 6
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x40)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x40)) >> 6)
+ /* macros for field PACKET_SENT_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_MASK 0x20
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_BIT 0x20
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_MSB 5
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_LSB 5
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x20)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x20)) >> 5)
+ /* macros for field PACKET_RX_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_MASK 0x10
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_BIT 0x10
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_MSB 4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_LSB 4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x10)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x10)) >> 4)
+ /* macros for field CRC_ERROR_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_MASK 0x8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_BIT 0x8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_MSB 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_LSB 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x8)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x8)) >> 3)
+ /* macros for field ALT_CRC_ERROR_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_MASK 0x4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_BIT 0x4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_MSB 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_LSB 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x4)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x4)) >> 2)
+ /* macros for field TX_FIFO_ALMOST_EMPTY_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_MASK 0x2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_BIT 0x2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_MSB 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_LSB 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x2)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x2)) >> 1)
+ /* macros for field RX_FIFO_ALMOST_FULL_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_MASK 0x1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_BIT 0x1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_MSB 0
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x1)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.PH_CLR_PEND & 0x1)))
+ /* macros for entire ARG MODEM_CLR_PEND access of type U8 */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_TYPE U8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_SIZE 8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_MASK 0xff
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INDEX 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_value (((cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND)))
+ /* macros for field RSSI_LATCH_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_MASK 0x80
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_BIT 0x80
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_LSB 7
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_INDEX 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x80)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x80)) >> 7)
+ /* macros for field POSTAMBLE_DETECT_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_MASK 0x40
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_BIT 0x40
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_MSB 6
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_LSB 6
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_INDEX 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x40)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x40)) >> 6)
+ /* macros for field INVALID_SYNC_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_MASK 0x20
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_BIT 0x20
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_MSB 5
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_LSB 5
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_INDEX 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x20)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x20)) >> 5)
+ /* macros for field RSSI_JUMP_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_MASK 0x10
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_BIT 0x10
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_MSB 4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_LSB 4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_INDEX 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x10)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x10)) >> 4)
+ /* macros for field RSSI_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_MASK 0x8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_BIT 0x8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_MSB 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_LSB 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_INDEX 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x8)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x8)) >> 3)
+ /* macros for field INVALID_PREAMBLE_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_MASK 0x4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_BIT 0x4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_MSB 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_LSB 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_INDEX 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x4)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x4)) >> 2)
+ /* macros for field PREAMBLE_DETECT_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_MASK 0x2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_BIT 0x2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_MSB 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_LSB 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_INDEX 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x2)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x2)) >> 1)
+ /* macros for field SYNC_DETECT_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_MASK 0x1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_BIT 0x1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_MSB 0
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_INDEX 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x1)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.MODEM_CLR_PEND & 0x1)))
+ /* macros for entire ARG CHIP_CLR_PEND access of type U8 */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_TYPE U8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_SIZE 8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_MASK 0xff
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_INDEX 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_value (((cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND)))
+ /* macros for field CAL_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_MASK 0x40
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_BIT 0x40
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_MSB 6
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_LSB 6
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_INDEX 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x40)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x40)) >> 6)
+ /* macros for field FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_MASK 0x20
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_BIT 0x20
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_MSB 5
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_LSB 5
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_INDEX 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x20)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x20)) >> 5)
+ /* macros for field STATE_CHANGE_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_MASK 0x10
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_BIT 0x10
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_MSB 4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_LSB 4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_INDEX 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x10)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x10)) >> 4)
+ /* macros for field CMD_ERROR_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_MASK 0x8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_BIT 0x8
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_MSB 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_LSB 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_INDEX 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x8)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x8)) >> 3)
+ /* macros for field CHIP_READY_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_MASK 0x4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_BIT 0x4
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_MSB 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_LSB 2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_INDEX 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x4)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x4)) >> 2)
+ /* macros for field LOW_BATT_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_MASK 0x2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_BIT 0x2
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_MSB 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_LSB 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_INDEX 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x2)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x2)) >> 1)
+ /* macros for field WUT_PEND_CLR access */
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_MASK 0x1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_BIT 0x1
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_MSB 0
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_INDEX 3
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_is_true (cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x1)
+ #define SI446X_CMD_GET_INT_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_value (((cmd.arg.GET_INT_STATUS.CHIP_CLR_PEND & 0x1)))
+/* GET_INT_STATUS REPLY */
+#define SI446X_CMD_REPLY_COUNT_GET_INT_STATUS 8
+ /* macros for entire REPLY INT_PEND access of type U8 */
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_TYPE U8
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_SIZE 8
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_MASK 0xff
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_INDEX 1
+ /* macros for field CHIP_INT_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_CHIP_INT_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_CHIP_INT_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_CHIP_INT_PEND_MASK 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_CHIP_INT_PEND_BIT 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_CHIP_INT_PEND_MSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_CHIP_INT_PEND_LSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_CHIP_INT_PEND_INDEX 1
+ /* macros for field MODEM_INT_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_MODEM_INT_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_MODEM_INT_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_MODEM_INT_PEND_MASK 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_MODEM_INT_PEND_BIT 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_MODEM_INT_PEND_MSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_MODEM_INT_PEND_LSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_MODEM_INT_PEND_INDEX 1
+ /* macros for field PH_INT_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_PH_INT_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_PH_INT_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_PH_INT_PEND_MASK 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_PH_INT_PEND_BIT 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_PH_INT_PEND_MSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_PH_INT_PEND_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_PEND_PH_INT_PEND_INDEX 1
+ /* macros for entire REPLY INT_STATUS access of type U8 */
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_TYPE U8
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_SIZE 8
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_MASK 0xff
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_INDEX 2
+ /* macros for field CHIP_INT_STATUS access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_CHIP_INT_STATUS_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_CHIP_INT_STATUS_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_CHIP_INT_STATUS_MASK 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_CHIP_INT_STATUS_BIT 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_CHIP_INT_STATUS_MSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_CHIP_INT_STATUS_LSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_CHIP_INT_STATUS_INDEX 2
+ /* macros for field MODEM_INT_STATUS access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_MODEM_INT_STATUS_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_MODEM_INT_STATUS_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_MODEM_INT_STATUS_MASK 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_MODEM_INT_STATUS_BIT 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_MODEM_INT_STATUS_MSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_MODEM_INT_STATUS_LSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_MODEM_INT_STATUS_INDEX 2
+ /* macros for field PH_INT_STATUS access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_PH_INT_STATUS_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_PH_INT_STATUS_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_PH_INT_STATUS_MASK 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_PH_INT_STATUS_BIT 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_PH_INT_STATUS_MSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_PH_INT_STATUS_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_INT_STATUS_PH_INT_STATUS_INDEX 2
+ /* macros for entire REPLY PH_PEND access of type U8 */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_TYPE U8
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_SIZE 8
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_MASK 0xff
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_INDEX 3
+ /* macros for field FILTER_MATCH_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_MASK 0x80
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_BIT 0x80
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_LSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_INDEX 3
+ /* macros for field FILTER_MISS_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MISS_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MISS_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MISS_PEND_MASK 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MISS_PEND_BIT 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MISS_PEND_MSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MISS_PEND_LSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_FILTER_MISS_PEND_INDEX 3
+ /* macros for field PACKET_SENT_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_SENT_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_SENT_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_SENT_PEND_MASK 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_SENT_PEND_BIT 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_SENT_PEND_MSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_SENT_PEND_LSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_SENT_PEND_INDEX 3
+ /* macros for field PACKET_RX_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_RX_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_RX_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_RX_PEND_MASK 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_RX_PEND_BIT 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_RX_PEND_MSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_RX_PEND_LSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_RX_PEND_INDEX 3
+ /* macros for field CRC_ERROR_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_CRC_ERROR_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_CRC_ERROR_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_CRC_ERROR_PEND_MASK 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_CRC_ERROR_PEND_BIT 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_CRC_ERROR_PEND_MSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_CRC_ERROR_PEND_LSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_CRC_ERROR_PEND_INDEX 3
+ /* macros for field ALT_CRC_ERROR_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_MASK 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_BIT 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_MSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_LSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_INDEX 3
+ /* macros for field TX_FIFO_ALMOST_EMPTY_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_MASK 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_BIT 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_MSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_LSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_INDEX 3
+ /* macros for field RX_FIFO_ALMOST_FULL_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_MASK 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_BIT 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_MSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_INDEX 3
+ /* macros for entire REPLY PH_STATUS access of type U8 */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_TYPE U8
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_SIZE 8
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_MASK 0xff
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_INDEX 4
+ /* macros for field FILTER_MATCH access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MATCH_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MATCH_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MATCH_MASK 0x80
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MATCH_BIT 0x80
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MATCH_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MATCH_LSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MATCH_INDEX 4
+ /* macros for field FILTER_MISS access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MISS_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MISS_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MISS_MASK 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MISS_BIT 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MISS_MSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MISS_LSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_FILTER_MISS_INDEX 4
+ /* macros for field PACKET_SENT access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_SENT_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_SENT_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_SENT_MASK 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_SENT_BIT 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_SENT_MSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_SENT_LSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_SENT_INDEX 4
+ /* macros for field PACKET_RX access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_RX_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_RX_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_RX_MASK 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_RX_BIT 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_RX_MSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_RX_LSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_PACKET_RX_INDEX 4
+ /* macros for field CRC_ERROR access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_CRC_ERROR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_CRC_ERROR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_CRC_ERROR_MASK 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_CRC_ERROR_BIT 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_CRC_ERROR_MSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_CRC_ERROR_LSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_CRC_ERROR_INDEX 4
+ /* macros for field ALT_CRC_ERROR access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_MASK 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_BIT 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_MSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_LSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_INDEX 4
+ /* macros for field TX_FIFO_ALMOST_EMPTY access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_MASK 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_BIT 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_MSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_LSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_INDEX 4
+ /* macros for field RX_FIFO_ALMOST_FULL access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_MASK 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_BIT 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_MSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_INDEX 4
+ /* macros for entire REPLY MODEM_PEND access of type U8 */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_TYPE U8
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_SIZE 8
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_MASK 0xff
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INDEX 5
+ /* macros for field RSSI_LATCH_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_MASK 0x80
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_BIT 0x80
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_LSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_INDEX 5
+ /* macros for field POSTAMBLE_DETECT_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_MASK 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_BIT 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_MSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_LSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_INDEX 5
+ /* macros for field INVALID_SYNC_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_MASK 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_BIT 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_MSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_LSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_INDEX 5
+ /* macros for field RSSI_JUMP_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_MASK 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_BIT 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_MSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_LSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_INDEX 5
+ /* macros for field RSSI_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_PEND_MASK 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_PEND_BIT 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_PEND_MSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_PEND_LSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_RSSI_PEND_INDEX 5
+ /* macros for field INVALID_PREAMBLE_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_MASK 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_BIT 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_MSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_LSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_INDEX 5
+ /* macros for field PREAMBLE_DETECT_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_MASK 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_BIT 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_MSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_LSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_INDEX 5
+ /* macros for field SYNC_DETECT_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_MASK 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_BIT 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_MSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_INDEX 5
+ /* macros for entire REPLY MODEM_STATUS access of type U8 */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_TYPE U8
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_SIZE 8
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_MASK 0xff
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INDEX 6
+ /* macros for field RSSI_LATCH access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_LATCH_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_LATCH_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_LATCH_MASK 0x80
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_LATCH_BIT 0x80
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_LATCH_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_LATCH_LSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_LATCH_INDEX 6
+ /* macros for field POSTAMBLE_DETECT access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_MASK 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_BIT 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_MSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_LSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_INDEX 6
+ /* macros for field INVALID_SYNC access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_SYNC_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_SYNC_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_SYNC_MASK 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_SYNC_BIT 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_SYNC_MSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_SYNC_LSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_SYNC_INDEX 6
+ /* macros for field RSSI_JUMP access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_JUMP_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_JUMP_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_JUMP_MASK 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_JUMP_BIT 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_JUMP_MSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_JUMP_LSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_JUMP_INDEX 6
+ /* macros for field RSSI access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_MASK 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_BIT 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_MSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_LSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_RSSI_INDEX 6
+ /* macros for field INVALID_PREAMBLE access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_MASK 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_BIT 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_MSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_LSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_INDEX 6
+ /* macros for field PREAMBLE_DETECT access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_MASK 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_BIT 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_MSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_LSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_INDEX 6
+ /* macros for field SYNC_DETECT access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_SYNC_DETECT_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_SYNC_DETECT_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_SYNC_DETECT_MASK 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_SYNC_DETECT_BIT 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_SYNC_DETECT_MSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_SYNC_DETECT_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_MODEM_STATUS_SYNC_DETECT_INDEX 6
+ /* macros for entire REPLY CHIP_PEND access of type U8 */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_TYPE U8
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_SIZE 8
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_MASK 0xff
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_INDEX 7
+ /* macros for field CAL_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CAL_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CAL_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CAL_PEND_MASK 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CAL_PEND_BIT 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CAL_PEND_MSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CAL_PEND_LSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CAL_PEND_INDEX 7
+ /* macros for field FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_MASK 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_BIT 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_MSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_LSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_INDEX 7
+ /* macros for field STATE_CHANGE_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_MASK 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_BIT 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_MSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_LSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_INDEX 7
+ /* macros for field CMD_ERROR_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_MASK 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_BIT 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_MSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_LSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_INDEX 7
+ /* macros for field CHIP_READY_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_MASK 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_BIT 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_MSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_LSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_INDEX 7
+ /* macros for field LOW_BATT_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_MASK 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_BIT 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_MSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_LSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_INDEX 7
+ /* macros for field WUT_PEND access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_WUT_PEND_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_WUT_PEND_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_WUT_PEND_MASK 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_WUT_PEND_BIT 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_WUT_PEND_MSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_WUT_PEND_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_PEND_WUT_PEND_INDEX 7
+ /* macros for entire REPLY CHIP_STATUS access of type U8 */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_TYPE U8
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_SIZE 8
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_MASK 0xff
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_MSB 7
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_INDEX 8
+ /* macros for field CAL access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CAL_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CAL_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CAL_MASK 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CAL_BIT 0x40
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CAL_MSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CAL_LSB 6
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CAL_INDEX 8
+ /* macros for field FIFO_UNDERFLOW_OVERFLOW_ERROR access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_MASK 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_BIT 0x20
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_MSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_LSB 5
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_INDEX 8
+ /* macros for field STATE_CHANGE access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_STATE_CHANGE_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_STATE_CHANGE_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_STATE_CHANGE_MASK 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_STATE_CHANGE_BIT 0x10
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_STATE_CHANGE_MSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_STATE_CHANGE_LSB 4
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_STATE_CHANGE_INDEX 8
+ /* macros for field CMD_ERROR access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CMD_ERROR_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CMD_ERROR_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CMD_ERROR_MASK 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CMD_ERROR_BIT 0x8
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CMD_ERROR_MSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CMD_ERROR_LSB 3
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CMD_ERROR_INDEX 8
+ /* macros for field CHIP_READY access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CHIP_READY_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CHIP_READY_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CHIP_READY_MASK 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CHIP_READY_BIT 0x4
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CHIP_READY_MSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CHIP_READY_LSB 2
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_CHIP_READY_INDEX 8
+ /* macros for field LOW_BATT access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_LOW_BATT_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_LOW_BATT_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_LOW_BATT_MASK 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_LOW_BATT_BIT 0x2
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_LOW_BATT_MSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_LOW_BATT_LSB 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_LOW_BATT_INDEX 8
+ /* macros for field WUT access */
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_WUT_TYPE bool
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_WUT_SIZE 1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_WUT_MASK 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_WUT_BIT 0x1
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_WUT_MSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_WUT_LSB 0
+ #define SI446X_CMD_GET_INT_STATUS_REP_CHIP_STATUS_WUT_INDEX 8
+#define SI446X_CMD_ID_REQUEST_DEVICE_STATE 0x33
+/* REQUEST_DEVICE_STATE ARGS */
+#define SI446X_CMD_ARG_COUNT_REQUEST_DEVICE_STATE 1
+/* REQUEST_DEVICE_STATE REPLY */
+#define SI446X_CMD_REPLY_COUNT_REQUEST_DEVICE_STATE 2
+ /* macros for entire REPLY CURR_STATE access of type U8 */
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_TYPE U8
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_SIZE 8
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MASK 0xff
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MSB 7
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_LSB 0
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_INDEX 1
+ /* macros for field MAIN_STATE access */
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_TYPE enum
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_SIZE 4
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_MASK 0xf
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_MSB 3
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_LSB 0
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_INDEX 1
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_ENUM_SLEEP 1
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_ENUM_SPI_ACTIVE 2
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_ENUM_READY 3
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_ENUM_READY2 4
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_ENUM_TX_TUNE 5
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_ENUM_RX_TUNE 6
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_ENUM_TX 7
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURR_STATE_MAIN_STATE_ENUM_RX 8
+ /* macros for entire REPLY CURRENT_CHANNEL access of type U8 */
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_TYPE U8
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_SIZE 8
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_MASK 0xff
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_MSB 7
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_LSB 0
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_INDEX 2
+ /* macros for field CURRENT_CHANNEL access */
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_CURRENT_CHANNEL_TYPE U8
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_CURRENT_CHANNEL_SIZE 8
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_CURRENT_CHANNEL_MASK 0xff
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_CURRENT_CHANNEL_MSB 7
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_CURRENT_CHANNEL_LSB 0
+ #define SI446X_CMD_REQUEST_DEVICE_STATE_REP_CURRENT_CHANNEL_CURRENT_CHANNEL_INDEX 2
+#define SI446X_CMD_ID_CHANGE_STATE 0x34
+/* CHANGE_STATE ARGS */
+#define SI446X_CMD_ARG_COUNT_CHANGE_STATE 2
+ /* macros for entire ARG NEXT_STATE1 access of type U8 */
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_TYPE U8
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_SIZE 8
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_MASK 0xff
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_MSB 7
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_LSB 0
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_INDEX 1
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_value (((cmd.arg.CHANGE_STATE.NEXT_STATE1)))
+ /* macros for field NEW_STATE access */
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_TYPE enum
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_SIZE 4
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_MASK 0xf
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_MSB 3
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_LSB 0
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_INDEX 1
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_value (((cmd.arg.CHANGE_STATE.NEXT_STATE1 & 0xf)))
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_ENUM_NOCHANGE 0
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_ENUM_SLEEP 1
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_ENUM_SPI_ACTIVE 2
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_ENUM_READY 3
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_ENUM_TX_TUNE 5
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_ENUM_RX_TUNE 6
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_ENUM_TX 7
+ #define SI446X_CMD_CHANGE_STATE_ARG_NEXT_STATE1_NEW_STATE_ENUM_RX 8
+/* CHANGE_STATE REPLY */
+#define SI446X_CMD_REPLY_COUNT_CHANGE_STATE 0
+#define SI446X_CMD_ID_READ_CMD_BUFF 0x44
+/* READ_CMD_BUFF ARGS */
+#define SI446X_CMD_ARG_COUNT_READ_CMD_BUFF 1
+/* READ_CMD_BUFF REPLY */
+#define SI446X_CMD_REPLY_COUNT_READ_CMD_BUFF 16
+ /* macros for entire REPLY BYTE access of type U8 */
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_TYPE U8
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_SIZE 8
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_MASK 0xff
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_MSB 7
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_LSB 0
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_INDEX 1
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_ARRAY_LEN 16
+ /* macros for field CMD_BUFF access */
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_CMD_BUFF_TYPE U8
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_CMD_BUFF_SIZE 8
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_CMD_BUFF_MASK 0xff
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_CMD_BUFF_MSB 7
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_CMD_BUFF_LSB 0
+ #define SI446X_CMD_READ_CMD_BUFF_REP_BYTE_CMD_BUFF_INDEX 1
+#define SI446X_CMD_ID_FRR_A_READ 0x50
+/* FRR_A_READ ARGS */
+#define SI446X_CMD_ARG_COUNT_FRR_A_READ 1
+/* FRR_A_READ REPLY */
+#define SI446X_CMD_REPLY_COUNT_FRR_A_READ 4
+ /* macros for entire REPLY FRR_A_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_MSB 7
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_LSB 0
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_INDEX 0
+ /* macros for field FRR_A_VALUE access */
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_FRR_A_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_FRR_A_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_FRR_A_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_FRR_A_VALUE_MSB 7
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_FRR_A_VALUE_LSB 0
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_A_VALUE_FRR_A_VALUE_INDEX 0
+ /* macros for entire REPLY FRR_B_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_MSB 7
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_LSB 0
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_INDEX 1
+ /* macros for field FRR_B_VALUE access */
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_FRR_B_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_FRR_B_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_FRR_B_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_FRR_B_VALUE_MSB 7
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_FRR_B_VALUE_LSB 0
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_B_VALUE_FRR_B_VALUE_INDEX 1
+ /* macros for entire REPLY FRR_C_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_MSB 7
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_LSB 0
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_INDEX 2
+ /* macros for field FRR_C_VALUE access */
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_FRR_C_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_FRR_C_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_FRR_C_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_FRR_C_VALUE_MSB 7
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_FRR_C_VALUE_LSB 0
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_C_VALUE_FRR_C_VALUE_INDEX 2
+ /* macros for entire REPLY FRR_D_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_MSB 7
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_LSB 0
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_INDEX 3
+ /* macros for field FRR_D_VALUE access */
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_FRR_D_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_FRR_D_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_FRR_D_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_FRR_D_VALUE_MSB 7
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_FRR_D_VALUE_LSB 0
+ #define SI446X_CMD_FRR_A_READ_REP_FRR_D_VALUE_FRR_D_VALUE_INDEX 3
+#define SI446X_CMD_ID_FRR_B_READ 0x51
+/* FRR_B_READ ARGS */
+#define SI446X_CMD_ARG_COUNT_FRR_B_READ 1
+/* FRR_B_READ REPLY */
+#define SI446X_CMD_REPLY_COUNT_FRR_B_READ 4
+ /* macros for entire REPLY FRR_B_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_MSB 7
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_LSB 0
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_INDEX 0
+ /* macros for field FRR_B_VALUE access */
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_FRR_B_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_FRR_B_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_FRR_B_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_FRR_B_VALUE_MSB 7
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_FRR_B_VALUE_LSB 0
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_B_VALUE_FRR_B_VALUE_INDEX 0
+ /* macros for entire REPLY FRR_C_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_MSB 7
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_LSB 0
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_INDEX 1
+ /* macros for field FRR_C_VALUE access */
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_FRR_C_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_FRR_C_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_FRR_C_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_FRR_C_VALUE_MSB 7
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_FRR_C_VALUE_LSB 0
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_C_VALUE_FRR_C_VALUE_INDEX 1
+ /* macros for entire REPLY FRR_D_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_MSB 7
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_LSB 0
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_INDEX 2
+ /* macros for field FRR_D_VALUE access */
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_FRR_D_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_FRR_D_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_FRR_D_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_FRR_D_VALUE_MSB 7
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_FRR_D_VALUE_LSB 0
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_D_VALUE_FRR_D_VALUE_INDEX 2
+ /* macros for entire REPLY FRR_A_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_MSB 7
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_LSB 0
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_INDEX 3
+ /* macros for field FRR_A_VALUE access */
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_FRR_A_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_FRR_A_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_FRR_A_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_FRR_A_VALUE_MSB 7
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_FRR_A_VALUE_LSB 0
+ #define SI446X_CMD_FRR_B_READ_REP_FRR_A_VALUE_FRR_A_VALUE_INDEX 3
+#define SI446X_CMD_ID_FRR_C_READ 0x53
+/* FRR_C_READ ARGS */
+#define SI446X_CMD_ARG_COUNT_FRR_C_READ 1
+/* FRR_C_READ REPLY */
+#define SI446X_CMD_REPLY_COUNT_FRR_C_READ 4
+ /* macros for entire REPLY FRR_C_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_MSB 7
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_LSB 0
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_INDEX 0
+ /* macros for field FRR_C_VALUE access */
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_FRR_C_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_FRR_C_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_FRR_C_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_FRR_C_VALUE_MSB 7
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_FRR_C_VALUE_LSB 0
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_C_VALUE_FRR_C_VALUE_INDEX 0
+ /* macros for entire REPLY FRR_D_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_MSB 7
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_LSB 0
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_INDEX 1
+ /* macros for field FRR_D_VALUE access */
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_FRR_D_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_FRR_D_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_FRR_D_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_FRR_D_VALUE_MSB 7
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_FRR_D_VALUE_LSB 0
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_D_VALUE_FRR_D_VALUE_INDEX 1
+ /* macros for entire REPLY FRR_A_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_MSB 7
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_LSB 0
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_INDEX 2
+ /* macros for field FRR_A_VALUE access */
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_FRR_A_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_FRR_A_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_FRR_A_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_FRR_A_VALUE_MSB 7
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_FRR_A_VALUE_LSB 0
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_A_VALUE_FRR_A_VALUE_INDEX 2
+ /* macros for entire REPLY FRR_B_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_MSB 7
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_LSB 0
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_INDEX 3
+ /* macros for field FRR_B_VALUE access */
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_FRR_B_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_FRR_B_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_FRR_B_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_FRR_B_VALUE_MSB 7
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_FRR_B_VALUE_LSB 0
+ #define SI446X_CMD_FRR_C_READ_REP_FRR_B_VALUE_FRR_B_VALUE_INDEX 3
+#define SI446X_CMD_ID_FRR_D_READ 0x57
+/* FRR_D_READ ARGS */
+#define SI446X_CMD_ARG_COUNT_FRR_D_READ 1
+/* FRR_D_READ REPLY */
+#define SI446X_CMD_REPLY_COUNT_FRR_D_READ 4
+ /* macros for entire REPLY FRR_D_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_MSB 7
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_LSB 0
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_INDEX 0
+ /* macros for field FRR_D_VALUE access */
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_FRR_D_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_FRR_D_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_FRR_D_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_FRR_D_VALUE_MSB 7
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_FRR_D_VALUE_LSB 0
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_D_VALUE_FRR_D_VALUE_INDEX 0
+ /* macros for entire REPLY FRR_A_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_MSB 7
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_LSB 0
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_INDEX 1
+ /* macros for field FRR_A_VALUE access */
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_FRR_A_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_FRR_A_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_FRR_A_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_FRR_A_VALUE_MSB 7
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_FRR_A_VALUE_LSB 0
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_A_VALUE_FRR_A_VALUE_INDEX 1
+ /* macros for entire REPLY FRR_B_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_MSB 7
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_LSB 0
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_INDEX 2
+ /* macros for field FRR_B_VALUE access */
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_FRR_B_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_FRR_B_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_FRR_B_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_FRR_B_VALUE_MSB 7
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_FRR_B_VALUE_LSB 0
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_B_VALUE_FRR_B_VALUE_INDEX 2
+ /* macros for entire REPLY FRR_C_VALUE access of type U8 */
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_MSB 7
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_LSB 0
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_INDEX 3
+ /* macros for field FRR_C_VALUE access */
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_FRR_C_VALUE_TYPE U8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_FRR_C_VALUE_SIZE 8
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_FRR_C_VALUE_MASK 0xff
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_FRR_C_VALUE_MSB 7
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_FRR_C_VALUE_LSB 0
+ #define SI446X_CMD_FRR_D_READ_REP_FRR_C_VALUE_FRR_C_VALUE_INDEX 3
+/* ir_cal commands */
+
+#define SI446X_CMD_ID_IRCAL 0x17
+/* IRCAL ARGS */
+#define SI446X_CMD_ARG_COUNT_IRCAL 5
+ /* macros for entire ARG SEARCHING_STEP_SIZE access of type U8 */
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_TYPE U8
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_SIZE 8
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_MASK 0xff
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_MSB 7
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_LSB 0
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INDEX 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_value (((cmd.arg.IRCAL.SEARCHING_STEP_SIZE)))
+ /* macros for field INITIAL_PH_AMP access */
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INITIAL_PH_AMP_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INITIAL_PH_AMP_SIZE 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INITIAL_PH_AMP_MASK 0x40
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INITIAL_PH_AMP_BIT 0x40
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INITIAL_PH_AMP_MSB 6
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INITIAL_PH_AMP_LSB 6
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INITIAL_PH_AMP_INDEX 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INITIAL_PH_AMP_is_true (cmd.arg.IRCAL.SEARCHING_STEP_SIZE & 0x40)
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INITIAL_PH_AMP_value (((cmd.arg.IRCAL.SEARCHING_STEP_SIZE & 0x40)) >> 6)
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INITIAL_PH_AMP_ENUM_ENUM_0 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_INITIAL_PH_AMP_ENUM_ENUM_1 0
+ /* macros for field FINE_STEP_SIZE access */
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_FINE_STEP_SIZE_TYPE U8
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_FINE_STEP_SIZE_SIZE 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_FINE_STEP_SIZE_MASK 0x30
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_FINE_STEP_SIZE_MSB 5
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_FINE_STEP_SIZE_LSB 4
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_FINE_STEP_SIZE_INDEX 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_FINE_STEP_SIZE_value (((cmd.arg.IRCAL.SEARCHING_STEP_SIZE & 0x30)) >> 4)
+ /* macros for field COARSE_STEP_SIZE access */
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_COARSE_STEP_SIZE_TYPE U8
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_COARSE_STEP_SIZE_SIZE 4
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_COARSE_STEP_SIZE_MASK 0xf
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_COARSE_STEP_SIZE_MSB 3
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_COARSE_STEP_SIZE_LSB 0
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_COARSE_STEP_SIZE_INDEX 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_STEP_SIZE_COARSE_STEP_SIZE_value (((cmd.arg.IRCAL.SEARCHING_STEP_SIZE & 0xf)))
+ /* macros for entire ARG SEARCHING_RSSI_AVG access of type U8 */
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_TYPE U8
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SIZE 8
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_MASK 0xff
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_MSB 7
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_LSB 0
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_INDEX 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_value (((cmd.arg.IRCAL.SEARCHING_RSSI_AVG)))
+ /* macros for field STEP_BY_STEP access */
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_STEP_BY_STEP_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_STEP_BY_STEP_SIZE 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_STEP_BY_STEP_MASK 0x80
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_STEP_BY_STEP_BIT 0x80
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_STEP_BY_STEP_MSB 7
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_STEP_BY_STEP_LSB 7
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_STEP_BY_STEP_INDEX 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_STEP_BY_STEP_is_true (cmd.arg.IRCAL.SEARCHING_RSSI_AVG & 0x80)
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_STEP_BY_STEP_value (((cmd.arg.IRCAL.SEARCHING_RSSI_AVG & 0x80)) >> 7)
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_STEP_BY_STEP_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_STEP_BY_STEP_ENUM_ENUM_1 1
+ /* macros for field SKIP_INIT_SEARCH_STAT access */
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_INIT_SEARCH_STAT_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_INIT_SEARCH_STAT_SIZE 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_INIT_SEARCH_STAT_MASK 0x40
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_INIT_SEARCH_STAT_BIT 0x40
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_INIT_SEARCH_STAT_MSB 6
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_INIT_SEARCH_STAT_LSB 6
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_INIT_SEARCH_STAT_INDEX 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_INIT_SEARCH_STAT_is_true (cmd.arg.IRCAL.SEARCHING_RSSI_AVG & 0x40)
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_INIT_SEARCH_STAT_value (((cmd.arg.IRCAL.SEARCHING_RSSI_AVG & 0x40)) >> 6)
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_INIT_SEARCH_STAT_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_INIT_SEARCH_STAT_ENUM_ENUM_1 1
+ /* macros for field RSSI_FINE_AVG access */
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_FINE_AVG_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_FINE_AVG_SIZE 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_FINE_AVG_MASK 0x30
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_FINE_AVG_MSB 5
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_FINE_AVG_LSB 4
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_FINE_AVG_INDEX 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_FINE_AVG_value (((cmd.arg.IRCAL.SEARCHING_RSSI_AVG & 0x30)) >> 4)
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_FINE_AVG_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_FINE_AVG_ENUM_ENUM_1 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_FINE_AVG_ENUM_ENUM_2 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_FINE_AVG_ENUM_ENUM_3 3
+ /* macros for field SKIP_CAL access */
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_CAL_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_CAL_SIZE 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_CAL_MASK 0x4
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_CAL_BIT 0x4
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_CAL_MSB 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_CAL_LSB 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_CAL_INDEX 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_CAL_is_true (cmd.arg.IRCAL.SEARCHING_RSSI_AVG & 0x4)
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_CAL_value (((cmd.arg.IRCAL.SEARCHING_RSSI_AVG & 0x4)) >> 2)
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_CAL_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_SKIP_CAL_ENUM_ENUM_1 1
+ /* macros for field RSSI_COARSE_AVG access */
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_COARSE_AVG_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_COARSE_AVG_SIZE 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_COARSE_AVG_MASK 0x3
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_COARSE_AVG_MSB 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_COARSE_AVG_LSB 0
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_COARSE_AVG_INDEX 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_COARSE_AVG_value (((cmd.arg.IRCAL.SEARCHING_RSSI_AVG & 0x3)))
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_COARSE_AVG_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_COARSE_AVG_ENUM_ENUM_1 1
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_COARSE_AVG_ENUM_ENUM_2 2
+ #define SI446X_CMD_IRCAL_ARG_SEARCHING_RSSI_AVG_RSSI_COARSE_AVG_ENUM_ENUM_3 3
+ /* macros for entire ARG RX_CHAIN_SETTING1 access of type U8 */
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_TYPE U8
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_SIZE 8
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_MASK 0xff
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_MSB 7
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_LSB 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_INDEX 3
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_value (((cmd.arg.IRCAL.RX_CHAIN_SETTING1)))
+ /* macros for field EN_HRMNIC_GEN access */
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_EN_HRMNIC_GEN_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_EN_HRMNIC_GEN_SIZE 1
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_EN_HRMNIC_GEN_MASK 0x80
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_EN_HRMNIC_GEN_BIT 0x80
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_EN_HRMNIC_GEN_MSB 7
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_EN_HRMNIC_GEN_LSB 7
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_EN_HRMNIC_GEN_INDEX 3
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_EN_HRMNIC_GEN_is_true (cmd.arg.IRCAL.RX_CHAIN_SETTING1 & 0x80)
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_EN_HRMNIC_GEN_value (((cmd.arg.IRCAL.RX_CHAIN_SETTING1 & 0x80)) >> 7)
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_EN_HRMNIC_GEN_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_EN_HRMNIC_GEN_ENUM_ENUM_1 1
+ /* macros for field IRCLKDIV access */
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_IRCLKDIV_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_IRCLKDIV_SIZE 1
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_IRCLKDIV_MASK 0x40
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_IRCLKDIV_BIT 0x40
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_IRCLKDIV_MSB 6
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_IRCLKDIV_LSB 6
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_IRCLKDIV_INDEX 3
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_IRCLKDIV_is_true (cmd.arg.IRCAL.RX_CHAIN_SETTING1 & 0x40)
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_IRCLKDIV_value (((cmd.arg.IRCAL.RX_CHAIN_SETTING1 & 0x40)) >> 6)
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_IRCLKDIV_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_IRCLKDIV_ENUM_ENUM_1 1
+ /* macros for field RF_SOURCE_PWR access */
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_RF_SOURCE_PWR_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_RF_SOURCE_PWR_SIZE 2
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_RF_SOURCE_PWR_MASK 0x30
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_RF_SOURCE_PWR_MSB 5
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_RF_SOURCE_PWR_LSB 4
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_RF_SOURCE_PWR_INDEX 3
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_RF_SOURCE_PWR_value (((cmd.arg.IRCAL.RX_CHAIN_SETTING1 & 0x30)) >> 4)
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_RF_SOURCE_PWR_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_RF_SOURCE_PWR_ENUM_ENUM_1 1
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_RF_SOURCE_PWR_ENUM_ENUM_2 2
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_RF_SOURCE_PWR_ENUM_ENUM_3 3
+ /* macros for field CLOSE_SHUNT_SWITCH access */
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_CLOSE_SHUNT_SWITCH_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_CLOSE_SHUNT_SWITCH_SIZE 1
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_CLOSE_SHUNT_SWITCH_MASK 0x8
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_CLOSE_SHUNT_SWITCH_BIT 0x8
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_CLOSE_SHUNT_SWITCH_MSB 3
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_CLOSE_SHUNT_SWITCH_LSB 3
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_CLOSE_SHUNT_SWITCH_INDEX 3
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_CLOSE_SHUNT_SWITCH_is_true (cmd.arg.IRCAL.RX_CHAIN_SETTING1 & 0x8)
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_CLOSE_SHUNT_SWITCH_value (((cmd.arg.IRCAL.RX_CHAIN_SETTING1 & 0x8)) >> 3)
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_CLOSE_SHUNT_SWITCH_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_CLOSE_SHUNT_SWITCH_ENUM_ENUM_1 1
+ /* macros for field PGA_GAIN access */
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_SIZE 3
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_MASK 0x7
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_MSB 2
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_LSB 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_INDEX 3
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_value (((cmd.arg.IRCAL.RX_CHAIN_SETTING1 & 0x7)))
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_ENUM_ENUM_1 1
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_ENUM_ENUM_2 2
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_ENUM_ENUM_3 3
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_ENUM_ENUM_4 4
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_ENUM_ENUM_5 5
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_ENUM_ENUM_6 6
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING1_PGA_GAIN_ENUM_ENUM_7 7
+ /* macros for entire ARG RX_CHAIN_SETTING2 access of type U8 */
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_TYPE U8
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_SIZE 8
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_MASK 0xff
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_MSB 7
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_LSB 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_INDEX 4
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_value (((cmd.arg.IRCAL.RX_CHAIN_SETTING2)))
+ /* macros for field RSSI_READ_DELAY access */
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_RSSI_READ_DELAY_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_RSSI_READ_DELAY_SIZE 4
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_RSSI_READ_DELAY_MASK 0xf0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_RSSI_READ_DELAY_MSB 7
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_RSSI_READ_DELAY_LSB 4
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_RSSI_READ_DELAY_INDEX 4
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_RSSI_READ_DELAY_value (((cmd.arg.IRCAL.RX_CHAIN_SETTING2 & 0xf0)) >> 4)
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_RSSI_READ_DELAY_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_RSSI_READ_DELAY_ENUM_ENUM_1 1
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_RSSI_READ_DELAY_ENUM_ENUM_2 15
+ /* macros for field ADC_HIGH_GAIN access */
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_ADC_HIGH_GAIN_TYPE enum
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_ADC_HIGH_GAIN_SIZE 1
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_ADC_HIGH_GAIN_MASK 0x1
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_ADC_HIGH_GAIN_BIT 0x1
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_ADC_HIGH_GAIN_MSB 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_ADC_HIGH_GAIN_LSB 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_ADC_HIGH_GAIN_INDEX 4
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_ADC_HIGH_GAIN_is_true (cmd.arg.IRCAL.RX_CHAIN_SETTING2 & 0x1)
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_ADC_HIGH_GAIN_value (((cmd.arg.IRCAL.RX_CHAIN_SETTING2 & 0x1)))
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_ADC_HIGH_GAIN_ENUM_ENUM_0 0
+ #define SI446X_CMD_IRCAL_ARG_RX_CHAIN_SETTING2_ADC_HIGH_GAIN_ENUM_ENUM_1 1
+/* IRCAL REPLY */
+#define SI446X_CMD_REPLY_COUNT_IRCAL 0
+#define SI446X_CMD_ID_IRCAL_MANUAL 0x1a
+/* IRCAL_MANUAL ARGS */
+#define SI446X_CMD_ARG_COUNT_IRCAL_MANUAL 3
+ /* macros for entire ARG IRCAL_AMP access of type U8 */
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_TYPE U8
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_SIZE 8
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_MASK 0xff
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_MSB 7
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_LSB 0
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_INDEX 1
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_value (((cmd.arg.IRCAL_MANUAL.IRCAL_AMP)))
+ /* macros for field IRCAL_AMP_SKIP access */
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SKIP_TYPE enum
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SKIP_SIZE 1
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SKIP_MASK 0x80
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SKIP_BIT 0x80
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SKIP_MSB 7
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SKIP_LSB 7
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SKIP_INDEX 1
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SKIP_is_true (cmd.arg.IRCAL_MANUAL.IRCAL_AMP & 0x80)
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SKIP_value (((cmd.arg.IRCAL_MANUAL.IRCAL_AMP & 0x80)) >> 7)
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SKIP_ENUM_APPLY 0
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SKIP_ENUM_SKIP 1
+ /* macros for field IRCAL_AMP_SIGN access */
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SIGN_TYPE enum
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SIGN_SIZE 1
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SIGN_MASK 0x20
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SIGN_BIT 0x20
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SIGN_MSB 5
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SIGN_LSB 5
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SIGN_INDEX 1
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SIGN_is_true (cmd.arg.IRCAL_MANUAL.IRCAL_AMP & 0x20)
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SIGN_value (((cmd.arg.IRCAL_MANUAL.IRCAL_AMP & 0x20)) >> 5)
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SIGN_ENUM_POS 0
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_SIGN_ENUM_NEG 1
+ /* macros for field IRCAL_AMP_MAG access */
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_MAG_TYPE U8
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_MAG_SIZE 5
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_MAG_MASK 0x1f
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_MAG_MSB 4
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_MAG_LSB 0
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_MAG_INDEX 1
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_AMP_IRCAL_AMP_MAG_value (((cmd.arg.IRCAL_MANUAL.IRCAL_AMP & 0x1f)))
+ /* macros for entire ARG IRCAL_PH access of type U8 */
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_TYPE U8
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_SIZE 8
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_MASK 0xff
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_MSB 7
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_LSB 0
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_INDEX 2
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_value (((cmd.arg.IRCAL_MANUAL.IRCAL_PH)))
+ /* macros for field IRCAL_PH_SKIP access */
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SKIP_TYPE enum
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SKIP_SIZE 1
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SKIP_MASK 0x80
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SKIP_BIT 0x80
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SKIP_MSB 7
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SKIP_LSB 7
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SKIP_INDEX 2
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SKIP_is_true (cmd.arg.IRCAL_MANUAL.IRCAL_PH & 0x80)
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SKIP_value (((cmd.arg.IRCAL_MANUAL.IRCAL_PH & 0x80)) >> 7)
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SKIP_ENUM_APPLY 0
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SKIP_ENUM_SKIP 1
+ /* macros for field IRCAL_PH_SIGN access */
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SIGN_TYPE enum
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SIGN_SIZE 1
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SIGN_MASK 0x20
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SIGN_BIT 0x20
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SIGN_MSB 5
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SIGN_LSB 5
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SIGN_INDEX 2
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SIGN_is_true (cmd.arg.IRCAL_MANUAL.IRCAL_PH & 0x20)
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SIGN_value (((cmd.arg.IRCAL_MANUAL.IRCAL_PH & 0x20)) >> 5)
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SIGN_ENUM_POS 0
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_SIGN_ENUM_NEG 1
+ /* macros for field IRCAL_PH_MAG access */
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_MAG_TYPE U8
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_MAG_SIZE 5
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_MAG_MASK 0x1f
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_MAG_MSB 4
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_MAG_LSB 0
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_MAG_INDEX 2
+ #define SI446X_CMD_IRCAL_MANUAL_ARG_IRCAL_PH_IRCAL_PH_MAG_value (((cmd.arg.IRCAL_MANUAL.IRCAL_PH & 0x1f)))
+/* IRCAL_MANUAL REPLY */
+#define SI446X_CMD_REPLY_COUNT_IRCAL_MANUAL 2
+ /* macros for entire REPLY IRCAL_AMP_REPLY access of type U8 */
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_TYPE U8
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_SIZE 8
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_MASK 0xff
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_MSB 7
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_LSB 0
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_INDEX 1
+ /* macros for field IRCAL_AMP_SIGN access */
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_SIGN_TYPE enum
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_SIGN_SIZE 1
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_SIGN_MASK 0x20
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_SIGN_BIT 0x20
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_SIGN_MSB 5
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_SIGN_LSB 5
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_SIGN_INDEX 1
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_SIGN_ENUM_POS 0
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_SIGN_ENUM_NEG 1
+ /* macros for field IRCAL_AMP_MAG access */
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_MAG_TYPE U8
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_MAG_SIZE 5
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_MAG_MASK 0x1f
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_MAG_MSB 4
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_MAG_LSB 0
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_AMP_REPLY_IRCAL_AMP_MAG_INDEX 1
+ /* macros for entire REPLY IRCAL_PH_REPLY access of type U8 */
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_TYPE U8
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_SIZE 8
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_MASK 0xff
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_MSB 7
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_LSB 0
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_INDEX 2
+ /* macros for field IRCAL_PH_SIGN access */
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_PH_SIGN_TYPE enum
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_PH_SIGN_SIZE 1
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_PH_SIGN_MASK 0x20
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_PH_SIGN_BIT 0x20
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_PH_SIGN_MSB 5
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_PH_SIGN_LSB 5
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_PH_SIGN_INDEX 2
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_PH_SIGN_ENUM_POS 0
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_PH_SIGN_ENUM_NEG 1
+ /* macros for field IRCAL_AMP_PH access */
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_AMP_PH_TYPE U8
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_AMP_PH_SIZE 5
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_AMP_PH_MASK 0x1f
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_AMP_PH_MSB 4
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_AMP_PH_LSB 0
+ #define SI446X_CMD_IRCAL_MANUAL_REP_IRCAL_PH_REPLY_IRCAL_AMP_PH_INDEX 2
+/* tx commands */
+
+#define SI446X_CMD_ID_START_TX 0x31
+/* START_TX ARGS */
+#define SI446X_CMD_ARG_COUNT_START_TX 7
+ /* macros for entire ARG CHANNEL access of type U8 */
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_TYPE U8
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_SIZE 8
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_MASK 0xff
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_MSB 7
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_LSB 0
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_INDEX 1
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_value (((cmd.arg.START_TX.CHANNEL)))
+ /* macros for field CHANNEL access */
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_CHANNEL_TYPE U8
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_CHANNEL_SIZE 8
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_CHANNEL_MASK 0xff
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_CHANNEL_MSB 7
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_CHANNEL_LSB 0
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_CHANNEL_INDEX 1
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_CHANNEL_MIN 0x0
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_CHANNEL_MAX 0xff
+ #define SI446X_CMD_START_TX_ARG_CHANNEL_CHANNEL_value (((cmd.arg.START_TX.CHANNEL & 0xff)))
+ /* macros for entire ARG CONDITION access of type U8 */
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TYPE U8
+ #define SI446X_CMD_START_TX_ARG_CONDITION_SIZE 8
+ #define SI446X_CMD_START_TX_ARG_CONDITION_MASK 0xff
+ #define SI446X_CMD_START_TX_ARG_CONDITION_MSB 7
+ #define SI446X_CMD_START_TX_ARG_CONDITION_LSB 0
+ #define SI446X_CMD_START_TX_ARG_CONDITION_INDEX 2
+ #define SI446X_CMD_START_TX_ARG_CONDITION_value (((cmd.arg.START_TX.CONDITION)))
+ /* macros for field TXCOMPLETE_STATE access */
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_TYPE enum
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_SIZE 4
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_MASK 0xf0
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_MSB 7
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_LSB 4
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_INDEX 2
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_value (((cmd.arg.START_TX.CONDITION & 0xf0)) >> 4)
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_ENUM_NOCHANGE 0
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_ENUM_SLEEP 1
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_ENUM_SPI_ACTIVE 2
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_ENUM_READY 3
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_ENUM_READY2 4
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_ENUM_TX_TUNE 5
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_ENUM_RX_TUNE 6
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_ENUM_RESERVED 7
+ #define SI446X_CMD_START_TX_ARG_CONDITION_TXCOMPLETE_STATE_ENUM_RX 8
+ /* macros for field UPDATE access */
+ #define SI446X_CMD_START_TX_ARG_CONDITION_UPDATE_TYPE enum
+ #define SI446X_CMD_START_TX_ARG_CONDITION_UPDATE_SIZE 1
+ #define SI446X_CMD_START_TX_ARG_CONDITION_UPDATE_MASK 0x8
+ #define SI446X_CMD_START_TX_ARG_CONDITION_UPDATE_BIT 0x8
+ #define SI446X_CMD_START_TX_ARG_CONDITION_UPDATE_MSB 3
+ #define SI446X_CMD_START_TX_ARG_CONDITION_UPDATE_LSB 3
+ #define SI446X_CMD_START_TX_ARG_CONDITION_UPDATE_INDEX 2
+ #define SI446X_CMD_START_TX_ARG_CONDITION_UPDATE_is_true (cmd.arg.START_TX.CONDITION & 0x8)
+ #define SI446X_CMD_START_TX_ARG_CONDITION_UPDATE_value (((cmd.arg.START_TX.CONDITION & 0x8)) >> 3)
+ #define SI446X_CMD_START_TX_ARG_CONDITION_UPDATE_ENUM_UPDATE 1
+ #define SI446X_CMD_START_TX_ARG_CONDITION_UPDATE_ENUM_USE 0
+ /* macros for field RETRANSMIT access */
+ #define SI446X_CMD_START_TX_ARG_CONDITION_RETRANSMIT_TYPE enum
+ #define SI446X_CMD_START_TX_ARG_CONDITION_RETRANSMIT_SIZE 1
+ #define SI446X_CMD_START_TX_ARG_CONDITION_RETRANSMIT_MASK 0x4
+ #define SI446X_CMD_START_TX_ARG_CONDITION_RETRANSMIT_BIT 0x4
+ #define SI446X_CMD_START_TX_ARG_CONDITION_RETRANSMIT_MSB 2
+ #define SI446X_CMD_START_TX_ARG_CONDITION_RETRANSMIT_LSB 2
+ #define SI446X_CMD_START_TX_ARG_CONDITION_RETRANSMIT_INDEX 2
+ #define SI446X_CMD_START_TX_ARG_CONDITION_RETRANSMIT_is_true (cmd.arg.START_TX.CONDITION & 0x4)
+ #define SI446X_CMD_START_TX_ARG_CONDITION_RETRANSMIT_value (((cmd.arg.START_TX.CONDITION & 0x4)) >> 2)
+ #define SI446X_CMD_START_TX_ARG_CONDITION_RETRANSMIT_ENUM_ENUM_0 0
+ #define SI446X_CMD_START_TX_ARG_CONDITION_RETRANSMIT_ENUM_ENUM_1 1
+ /* macros for field START access */
+ #define SI446X_CMD_START_TX_ARG_CONDITION_START_TYPE enum
+ #define SI446X_CMD_START_TX_ARG_CONDITION_START_SIZE 2
+ #define SI446X_CMD_START_TX_ARG_CONDITION_START_MASK 0x3
+ #define SI446X_CMD_START_TX_ARG_CONDITION_START_MSB 1
+ #define SI446X_CMD_START_TX_ARG_CONDITION_START_LSB 0
+ #define SI446X_CMD_START_TX_ARG_CONDITION_START_INDEX 2
+ #define SI446X_CMD_START_TX_ARG_CONDITION_START_value (((cmd.arg.START_TX.CONDITION & 0x3)))
+ #define SI446X_CMD_START_TX_ARG_CONDITION_START_ENUM_IMMEDIATE 0
+ #define SI446X_CMD_START_TX_ARG_CONDITION_START_ENUM_WUT 1
+ /* macros for entire ARG TX_LEN access of type U16 */
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_TYPE U16
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_SIZE 16
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_MASK 0xffff
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_MSB 15
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_LSB 0
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_INDEX 3
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_value (((cmd.arg.START_TX.TX_LEN)))
+ /* macros for field TX_LEN access */
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_TX_LEN_TYPE U16
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_TX_LEN_SIZE 13
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_TX_LEN_MASK 0x1fff
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_TX_LEN_MSB 12
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_TX_LEN_LSB 0
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_TX_LEN_INDEX 3
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_TX_LEN_MIN 0x0
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_TX_LEN_MAX 0x1fff
+ #define SI446X_CMD_START_TX_ARG_TX_LEN_TX_LEN_value (((cmd.arg.START_TX.TX_LEN & 0x1fff)))
+ /* macros for entire ARG TX_DELAY access of type U8 */
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_TYPE U8
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_SIZE 8
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_MASK 0xff
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_MSB 7
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_LSB 0
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_INDEX 5
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_value (((cmd.arg.START_TX.TX_DELAY)))
+ /* macros for field TX_DELAY access */
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_TX_DELAY_TYPE U8
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_TX_DELAY_SIZE 8
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_TX_DELAY_MASK 0xff
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_TX_DELAY_MSB 7
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_TX_DELAY_LSB 0
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_TX_DELAY_INDEX 5
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_TX_DELAY_MIN 0x0
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_TX_DELAY_MAX 0x80
+ #define SI446X_CMD_START_TX_ARG_TX_DELAY_TX_DELAY_value (((cmd.arg.START_TX.TX_DELAY & 0xff)))
+ /* macros for entire ARG NUM_REPEAT access of type U8 */
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_TYPE U8
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_SIZE 8
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_MASK 0xff
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_MSB 7
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_LSB 0
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_INDEX 6
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_value (((cmd.arg.START_TX.NUM_REPEAT)))
+ /* macros for field NUM_REPEAT access */
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_NUM_REPEAT_TYPE U8
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_NUM_REPEAT_SIZE 8
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_NUM_REPEAT_MASK 0xff
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_NUM_REPEAT_MSB 7
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_NUM_REPEAT_LSB 0
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_NUM_REPEAT_INDEX 6
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_NUM_REPEAT_MIN 0x0
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_NUM_REPEAT_MAX 0xff
+ #define SI446X_CMD_START_TX_ARG_NUM_REPEAT_NUM_REPEAT_value (((cmd.arg.START_TX.NUM_REPEAT & 0xff)))
+/* START_TX REPLY */
+#define SI446X_CMD_REPLY_COUNT_START_TX 0
+#define SI446X_CMD_ID_TX_HOP 0x37
+/* TX_HOP ARGS */
+#define SI446X_CMD_ARG_COUNT_TX_HOP 1
+/* TX_HOP REPLY */
+#define SI446X_CMD_REPLY_COUNT_TX_HOP 0
+#define SI446X_CMD_ID_WRITE_TX_FIFO 0x66
+/* WRITE_TX_FIFO ARGS */
+#define SI446X_CMD_ARG_COUNT_WRITE_TX_FIFO 3
+ /* macros for entire ARG DATA access of type U8 */
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_TYPE U8
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_SIZE 8
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_MASK 0xff
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_MSB 7
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_LSB 0
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_INDEX 1
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_ARRAY_LEN 2
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_value(i) (((cmd.arg.WRITE_TX_FIFO.DATA[(i)])))
+ /* macros for field DATA access */
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_DATA_TYPE U8
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_DATA_SIZE 8
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_DATA_MASK 0xff
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_DATA_MSB 7
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_DATA_LSB 0
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_DATA_INDEX 1
+ #define SI446X_CMD_WRITE_TX_FIFO_ARG_DATA_DATA_value(i) (((cmd.arg.WRITE_TX_FIFO.DATA[(i)] & 0xff)))
+/* rx commands */
+
+#define SI446X_CMD_ID_PACKET_INFO 0x16
+/* PACKET_INFO ARGS */
+#define SI446X_CMD_ARG_COUNT_PACKET_INFO 6
+ /* macros for entire ARG FIELD_NUMBER access of type U8 */
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_TYPE U8
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_SIZE 8
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_MASK 0xff
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_MSB 7
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_LSB 0
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_INDEX 1
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_value (((cmd.arg.PACKET_INFO.FIELD_NUMBER)))
+ /* macros for field FIELD_NUM access */
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_TYPE enum
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_SIZE 5
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_MASK 0x1f
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_MSB 4
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_LSB 0
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_INDEX 1
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_value (((cmd.arg.PACKET_INFO.FIELD_NUMBER & 0x1f)))
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_ENUM_ENUM_0 0
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_ENUM_ENUM_1 1
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_ENUM_ENUM_2 2
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_ENUM_ENUM_3 4
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_ENUM_ENUM_4 8
+ #define SI446X_CMD_PACKET_INFO_ARG_FIELD_NUMBER_FIELD_NUM_ENUM_ENUM_5 16
+ /* macros for entire ARG LEN access of type U16 */
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_TYPE U16
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_SIZE 16
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_MASK 0xffff
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_MSB 15
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_LSB 0
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_INDEX 2
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_value (((cmd.arg.PACKET_INFO.LEN)))
+ /* macros for field LEN access */
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_LEN_TYPE U16
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_LEN_SIZE 16
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_LEN_MASK 0xffff
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_LEN_MSB 15
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_LEN_LSB 0
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_LEN_INDEX 2
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_LEN_MIN 0x1
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_LEN_MAX 0x1fff
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_LEN_value (((cmd.arg.PACKET_INFO.LEN & 0xffff)))
+ /* macros for entire ARG LEN_DIFF access of type S16 */
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_TYPE S16
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_SIZE 16
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_MASK 0xffff
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_MSB 15
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_LSB 0
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_INDEX 4
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_value (((cmd.arg.PACKET_INFO.LEN_DIFF)))
+ /* macros for field LEN_DIFF access */
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_LEN_DIFF_TYPE S16
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_LEN_DIFF_SIZE 16
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_LEN_DIFF_MASK 0xffff
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_LEN_DIFF_MSB 15
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_LEN_DIFF_LSB 0
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_LEN_DIFF_INDEX 4
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_LEN_DIFF_MIN -0x8000
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_LEN_DIFF_MAX 0x7fff
+ #define SI446X_CMD_PACKET_INFO_ARG_LEN_DIFF_LEN_DIFF_value (((cmd.arg.PACKET_INFO.LEN_DIFF & 0xffff)))
+/* PACKET_INFO REPLY */
+#define SI446X_CMD_REPLY_COUNT_PACKET_INFO 2
+ /* macros for entire REPLY LENGTH access of type U16 */
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_TYPE U16
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_SIZE 16
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_MASK 0xffff
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_MSB 15
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_LSB 0
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_INDEX 1
+ /* macros for field LENGTH access */
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_LENGTH_TYPE U16
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_LENGTH_SIZE 16
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_LENGTH_MASK 0xffff
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_LENGTH_MSB 15
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_LENGTH_LSB 0
+ #define SI446X_CMD_PACKET_INFO_REP_LENGTH_LENGTH_INDEX 1
+#define SI446X_CMD_ID_GET_MODEM_STATUS 0x22
+/* GET_MODEM_STATUS ARGS */
+#define SI446X_CMD_ARG_COUNT_GET_MODEM_STATUS 2
+ /* macros for entire ARG MODEM_CLR_PEND access of type U8 */
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_TYPE U8
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_SIZE 8
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_MASK 0xff
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INDEX 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_value (((cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND)))
+ /* macros for field RSSI_LATCH_PEND_CLR access */
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_MASK 0x80
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_BIT 0x80
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_LSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_is_true (cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x80)
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_LATCH_PEND_CLR_value (((cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x80)) >> 7)
+ /* macros for field POSTAMBLE_DETECT_PEND_CLR access */
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_MASK 0x40
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_BIT 0x40
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_MSB 6
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_LSB 6
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_is_true (cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x40)
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_POSTAMBLE_DETECT_PEND_CLR_value (((cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x40)) >> 6)
+ /* macros for field INVALID_SYNC_PEND_CLR access */
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_MASK 0x20
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_BIT 0x20
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_MSB 5
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_LSB 5
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_is_true (cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x20)
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_SYNC_PEND_CLR_value (((cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x20)) >> 5)
+ /* macros for field RSSI_JUMP_PEND_CLR access */
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_MASK 0x10
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_BIT 0x10
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_MSB 4
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_LSB 4
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_is_true (cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x10)
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_JUMP_PEND_CLR_value (((cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x10)) >> 4)
+ /* macros for field RSSI_PEND_CLR access */
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_MASK 0x8
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_BIT 0x8
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_MSB 3
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_LSB 3
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_is_true (cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x8)
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_RSSI_PEND_CLR_value (((cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x8)) >> 3)
+ /* macros for field INVALID_PREAMBLE_PEND_CLR access */
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_MASK 0x4
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_BIT 0x4
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_MSB 2
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_LSB 2
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_is_true (cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x4)
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_INVALID_PREAMBLE_PEND_CLR_value (((cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x4)) >> 2)
+ /* macros for field PREAMBLE_DETECT_PEND_CLR access */
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_MASK 0x2
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_BIT 0x2
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_MSB 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_LSB 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_is_true (cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x2)
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_PREAMBLE_DETECT_PEND_CLR_value (((cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x2)) >> 1)
+ /* macros for field SYNC_DETECT_PEND_CLR access */
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_MASK 0x1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_BIT 0x1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_MSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_is_true (cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x1)
+ #define SI446X_CMD_GET_MODEM_STATUS_ARG_MODEM_CLR_PEND_SYNC_DETECT_PEND_CLR_value (((cmd.arg.GET_MODEM_STATUS.MODEM_CLR_PEND & 0x1)))
+/* GET_MODEM_STATUS REPLY */
+#define SI446X_CMD_REPLY_COUNT_GET_MODEM_STATUS 8
+ /* macros for entire REPLY MODEM_PEND access of type U8 */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_TYPE U8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_SIZE 8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_MASK 0xff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INDEX 1
+ /* macros for field RSSI_LATCH_PEND access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_MASK 0x80
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_BIT 0x80
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_LSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_LATCH_PEND_INDEX 1
+ /* macros for field POSTAMBLE_DETECT_PEND access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_MASK 0x40
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_BIT 0x40
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_MSB 6
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_LSB 6
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_POSTAMBLE_DETECT_PEND_INDEX 1
+ /* macros for field INVALID_SYNC_PEND access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_MASK 0x20
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_BIT 0x20
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_MSB 5
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_LSB 5
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_SYNC_PEND_INDEX 1
+ /* macros for field RSSI_JUMP_PEND access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_MASK 0x10
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_BIT 0x10
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_MSB 4
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_LSB 4
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_JUMP_PEND_INDEX 1
+ /* macros for field RSSI_PEND access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_PEND_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_PEND_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_PEND_MASK 0x8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_PEND_BIT 0x8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_PEND_MSB 3
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_PEND_LSB 3
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_RSSI_PEND_INDEX 1
+ /* macros for field INVALID_PREAMBLE_PEND access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_MASK 0x4
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_BIT 0x4
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_MSB 2
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_LSB 2
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_INVALID_PREAMBLE_PEND_INDEX 1
+ /* macros for field PREAMBLE_DETECT_PEND access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_MASK 0x2
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_BIT 0x2
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_MSB 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_LSB 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_PREAMBLE_DETECT_PEND_INDEX 1
+ /* macros for field SYNC_DETECT_PEND access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_MASK 0x1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_BIT 0x1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_MSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_PEND_SYNC_DETECT_PEND_INDEX 1
+ /* macros for entire REPLY MODEM_STATUS access of type U8 */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_TYPE U8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_SIZE 8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_MASK 0xff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INDEX 2
+ /* macros for field RSSI_LATCH access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_LATCH_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_LATCH_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_LATCH_MASK 0x80
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_LATCH_BIT 0x80
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_LATCH_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_LATCH_LSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_LATCH_INDEX 2
+ /* macros for field POSTAMBLE_DETECT access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_MASK 0x40
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_BIT 0x40
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_MSB 6
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_LSB 6
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_POSTAMBLE_DETECT_INDEX 2
+ /* macros for field INVALID_SYNC access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_SYNC_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_SYNC_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_SYNC_MASK 0x20
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_SYNC_BIT 0x20
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_SYNC_MSB 5
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_SYNC_LSB 5
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_SYNC_INDEX 2
+ /* macros for field RSSI_JUMP access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_JUMP_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_JUMP_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_JUMP_MASK 0x10
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_JUMP_BIT 0x10
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_JUMP_MSB 4
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_JUMP_LSB 4
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_JUMP_INDEX 2
+ /* macros for field RSSI access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_MASK 0x8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_BIT 0x8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_MSB 3
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_LSB 3
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_RSSI_INDEX 2
+ /* macros for field INVALID_PREAMBLE access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_MASK 0x4
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_BIT 0x4
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_MSB 2
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_LSB 2
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_INVALID_PREAMBLE_INDEX 2
+ /* macros for field PREAMBLE_DETECT access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_MASK 0x2
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_BIT 0x2
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_MSB 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_LSB 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_PREAMBLE_DETECT_INDEX 2
+ /* macros for field SYNC_DETECT access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_SYNC_DETECT_TYPE bool
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_SYNC_DETECT_SIZE 1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_SYNC_DETECT_MASK 0x1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_SYNC_DETECT_BIT 0x1
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_SYNC_DETECT_MSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_SYNC_DETECT_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_MODEM_STATUS_SYNC_DETECT_INDEX 2
+ /* macros for entire REPLY CURR_RSSI access of type U8 */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_TYPE U8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_SIZE 8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_MASK 0xff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_INDEX 3
+ /* macros for field CURR_RSSI access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_CURR_RSSI_TYPE U8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_CURR_RSSI_SIZE 8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_CURR_RSSI_MASK 0xff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_CURR_RSSI_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_CURR_RSSI_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_CURR_RSSI_CURR_RSSI_INDEX 3
+ /* macros for entire REPLY LATCH_RSSI access of type U8 */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_TYPE U8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_SIZE 8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_MASK 0xff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_INDEX 4
+ /* macros for field LATCH_RSSI access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_LATCH_RSSI_TYPE U8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_LATCH_RSSI_SIZE 8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_LATCH_RSSI_MASK 0xff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_LATCH_RSSI_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_LATCH_RSSI_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_LATCH_RSSI_LATCH_RSSI_INDEX 4
+ /* macros for entire REPLY ANT1_RSSI access of type U8 */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_TYPE U8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_SIZE 8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_MASK 0xff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_INDEX 5
+ /* macros for field ANT1_RSSI access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_ANT1_RSSI_TYPE U8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_ANT1_RSSI_SIZE 8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_ANT1_RSSI_MASK 0xff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_ANT1_RSSI_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_ANT1_RSSI_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT1_RSSI_ANT1_RSSI_INDEX 5
+ /* macros for entire REPLY ANT2_RSSI access of type U8 */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_TYPE U8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_SIZE 8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_MASK 0xff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_INDEX 6
+ /* macros for field ANT2_RSSI access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_ANT2_RSSI_TYPE U8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_ANT2_RSSI_SIZE 8
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_ANT2_RSSI_MASK 0xff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_ANT2_RSSI_MSB 7
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_ANT2_RSSI_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_ANT2_RSSI_ANT2_RSSI_INDEX 6
+ /* macros for entire REPLY AFC_FREQ_OFFSET access of type U16 */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_TYPE U16
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_SIZE 16
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_MASK 0xffff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_MSB 15
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_INDEX 7
+ /* macros for field AFC_FREQ_OFFSET access */
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_AFC_FREQ_OFFSET_TYPE U16
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_AFC_FREQ_OFFSET_SIZE 16
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_AFC_FREQ_OFFSET_MASK 0xffff
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_AFC_FREQ_OFFSET_MSB 15
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_AFC_FREQ_OFFSET_LSB 0
+ #define SI446X_CMD_GET_MODEM_STATUS_REP_AFC_FREQ_OFFSET_AFC_FREQ_OFFSET_INDEX 7
+#define SI446X_CMD_ID_START_RX 0x32
+/* START_RX ARGS */
+#define SI446X_CMD_ARG_COUNT_START_RX 8
+ /* macros for entire ARG CHANNEL access of type U8 */
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_TYPE U8
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_SIZE 8
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_MASK 0xff
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_MSB 7
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_LSB 0
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_INDEX 1
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_value (((cmd.arg.START_RX.CHANNEL)))
+ /* macros for field CHANNEL access */
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_CHANNEL_TYPE U8
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_CHANNEL_SIZE 8
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_CHANNEL_MASK 0xff
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_CHANNEL_MSB 7
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_CHANNEL_LSB 0
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_CHANNEL_INDEX 1
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_CHANNEL_MIN 0x0
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_CHANNEL_MAX 0xff
+ #define SI446X_CMD_START_RX_ARG_CHANNEL_CHANNEL_value (((cmd.arg.START_RX.CHANNEL & 0xff)))
+ /* macros for entire ARG CONDITION access of type U8 */
+ #define SI446X_CMD_START_RX_ARG_CONDITION_TYPE U8
+ #define SI446X_CMD_START_RX_ARG_CONDITION_SIZE 8
+ #define SI446X_CMD_START_RX_ARG_CONDITION_MASK 0xff
+ #define SI446X_CMD_START_RX_ARG_CONDITION_MSB 7
+ #define SI446X_CMD_START_RX_ARG_CONDITION_LSB 0
+ #define SI446X_CMD_START_RX_ARG_CONDITION_INDEX 2
+ #define SI446X_CMD_START_RX_ARG_CONDITION_value (((cmd.arg.START_RX.CONDITION)))
+ /* macros for field UPDATE access */
+ #define SI446X_CMD_START_RX_ARG_CONDITION_UPDATE_TYPE enum
+ #define SI446X_CMD_START_RX_ARG_CONDITION_UPDATE_SIZE 1
+ #define SI446X_CMD_START_RX_ARG_CONDITION_UPDATE_MASK 0x8
+ #define SI446X_CMD_START_RX_ARG_CONDITION_UPDATE_BIT 0x8
+ #define SI446X_CMD_START_RX_ARG_CONDITION_UPDATE_MSB 3
+ #define SI446X_CMD_START_RX_ARG_CONDITION_UPDATE_LSB 3
+ #define SI446X_CMD_START_RX_ARG_CONDITION_UPDATE_INDEX 2
+ #define SI446X_CMD_START_RX_ARG_CONDITION_UPDATE_is_true (cmd.arg.START_RX.CONDITION & 0x8)
+ #define SI446X_CMD_START_RX_ARG_CONDITION_UPDATE_value (((cmd.arg.START_RX.CONDITION & 0x8)) >> 3)
+ #define SI446X_CMD_START_RX_ARG_CONDITION_UPDATE_ENUM_UPDATE 1
+ #define SI446X_CMD_START_RX_ARG_CONDITION_UPDATE_ENUM_USE 0
+ /* macros for field START access */
+ #define SI446X_CMD_START_RX_ARG_CONDITION_START_TYPE enum
+ #define SI446X_CMD_START_RX_ARG_CONDITION_START_SIZE 2
+ #define SI446X_CMD_START_RX_ARG_CONDITION_START_MASK 0x3
+ #define SI446X_CMD_START_RX_ARG_CONDITION_START_MSB 1
+ #define SI446X_CMD_START_RX_ARG_CONDITION_START_LSB 0
+ #define SI446X_CMD_START_RX_ARG_CONDITION_START_INDEX 2
+ #define SI446X_CMD_START_RX_ARG_CONDITION_START_value (((cmd.arg.START_RX.CONDITION & 0x3)))
+ #define SI446X_CMD_START_RX_ARG_CONDITION_START_ENUM_IMMEDIATE 0
+ #define SI446X_CMD_START_RX_ARG_CONDITION_START_ENUM_WUT 1
+ /* macros for entire ARG RX_LEN access of type U16 */
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_TYPE U16
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_SIZE 16
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_MASK 0xffff
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_MSB 15
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_LSB 0
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_INDEX 3
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_value (((cmd.arg.START_RX.RX_LEN)))
+ /* macros for field RX_LEN access */
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_RX_LEN_TYPE U16
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_RX_LEN_SIZE 13
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_RX_LEN_MASK 0x1fff
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_RX_LEN_MSB 12
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_RX_LEN_LSB 0
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_RX_LEN_INDEX 3
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_RX_LEN_MIN 0x0
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_RX_LEN_MAX 0x1fff
+ #define SI446X_CMD_START_RX_ARG_RX_LEN_RX_LEN_value (((cmd.arg.START_RX.RX_LEN & 0x1fff)))
+ /* macros for entire ARG NEXT_STATE1 access of type U8 */
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_TYPE U8
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_SIZE 8
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_MASK 0xff
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_MSB 7
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_LSB 0
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_INDEX 5
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_value (((cmd.arg.START_RX.NEXT_STATE1)))
+ /* macros for field RXTIMEOUT_STATE access */
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_TYPE enum
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_SIZE 4
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_MASK 0xf
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_MSB 3
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_LSB 0
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_INDEX 5
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_value (((cmd.arg.START_RX.NEXT_STATE1 & 0xf)))
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_NOCHANGE 0
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_SLEEP 1
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_SPI_ACTIVE 2
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_READY 3
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_READY2 4
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_TX_TUNE 5
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_RX_TUNE 6
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_TX 7
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_RX 8
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_RX_IDLE 9
+ /* macros for entire ARG NEXT_STATE2 access of type U8 */
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_TYPE U8
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_SIZE 8
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_MASK 0xff
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_MSB 7
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_LSB 0
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_INDEX 6
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_value (((cmd.arg.START_RX.NEXT_STATE2)))
+ /* macros for field RXVALID_STATE access */
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_TYPE enum
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_SIZE 4
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_MASK 0xf
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_MSB 3
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_LSB 0
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_INDEX 6
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_value (((cmd.arg.START_RX.NEXT_STATE2 & 0xf)))
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_ENUM_REMAIN 0
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_ENUM_SLEEP 1
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_ENUM_SPI_ACTIVE 2
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_ENUM_READY 3
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_ENUM_READY2 4
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_ENUM_TX_TUNE 5
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_ENUM_RX_TUNE 6
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_ENUM_TX 7
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_ENUM_RX 8
+ /* macros for entire ARG NEXT_STATE3 access of type U8 */
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_TYPE U8
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_SIZE 8
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_MASK 0xff
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_MSB 7
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_LSB 0
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_INDEX 7
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_value (((cmd.arg.START_RX.NEXT_STATE3)))
+ /* macros for field RXINVALID_STATE access */
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_TYPE enum
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_SIZE 4
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_MASK 0xf
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_MSB 3
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_LSB 0
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_INDEX 7
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_value (((cmd.arg.START_RX.NEXT_STATE3 & 0xf)))
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_ENUM_REMAIN 0
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_ENUM_SLEEP 1
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_ENUM_SPI_ACTIVE 2
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_ENUM_READY 3
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_ENUM_READY2 4
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_ENUM_TX_TUNE 5
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_ENUM_RX_TUNE 6
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_ENUM_TX 7
+ #define SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_ENUM_RX 8
+/* START_RX REPLY */
+#define SI446X_CMD_REPLY_COUNT_START_RX 0
+#define SI446X_CMD_ID_RX_HOP 0x36
+/* RX_HOP ARGS */
+#define SI446X_CMD_ARG_COUNT_RX_HOP 7
+ /* macros for entire ARG INTE access of type U8 */
+ #define SI446X_CMD_RX_HOP_ARG_INTE_TYPE U8
+ #define SI446X_CMD_RX_HOP_ARG_INTE_SIZE 8
+ #define SI446X_CMD_RX_HOP_ARG_INTE_MASK 0xff
+ #define SI446X_CMD_RX_HOP_ARG_INTE_MSB 7
+ #define SI446X_CMD_RX_HOP_ARG_INTE_LSB 0
+ #define SI446X_CMD_RX_HOP_ARG_INTE_INDEX 1
+ #define SI446X_CMD_RX_HOP_ARG_INTE_value (((cmd.arg.RX_HOP.INTE)))
+ /* macros for field INTE access */
+ #define SI446X_CMD_RX_HOP_ARG_INTE_INTE_TYPE U8
+ #define SI446X_CMD_RX_HOP_ARG_INTE_INTE_SIZE 8
+ #define SI446X_CMD_RX_HOP_ARG_INTE_INTE_MASK 0xff
+ #define SI446X_CMD_RX_HOP_ARG_INTE_INTE_MSB 7
+ #define SI446X_CMD_RX_HOP_ARG_INTE_INTE_LSB 0
+ #define SI446X_CMD_RX_HOP_ARG_INTE_INTE_INDEX 1
+ #define SI446X_CMD_RX_HOP_ARG_INTE_INTE_MIN 0x0
+ #define SI446X_CMD_RX_HOP_ARG_INTE_INTE_MAX 0x7f
+ #define SI446X_CMD_RX_HOP_ARG_INTE_INTE_value (((cmd.arg.RX_HOP.INTE & 0xff)))
+ /* macros for entire ARG FRAC access of type U8 */
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_TYPE U8
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_SIZE 24
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_MASK 0xffffff
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_MSB 23
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_LSB 0
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_INDEX 2
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_23_16_value (((cmd.arg.RX_HOP.FRAC[0])))
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_15_8_value (((cmd.arg.RX_HOP.FRAC[1])))
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_7_0_value (((cmd.arg.RX_HOP.FRAC[2])))
+ /* macros for field FRAC access */
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_FRAC_TYPE U8
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_FRAC_SIZE 20
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_FRAC_INDEX 2
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_FRAC_MIN 0x80000
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_FRAC_MAX 0xfffff
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_FRAC_19_16_value (((cmd.arg.RX_HOP.FRAC[0] & 0xf)))
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_FRAC_15_8_value (((cmd.arg.RX_HOP.FRAC[1] & 0xff)))
+ #define SI446X_CMD_RX_HOP_ARG_FRAC_FRAC_7_0_value (((cmd.arg.RX_HOP.FRAC[2] & 0xff)))
+ /* macros for entire ARG VCO_CNT access of type U16 */
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_TYPE U16
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_SIZE 16
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_MASK 0xffff
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_MSB 15
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_LSB 0
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_INDEX 5
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_value (((cmd.arg.RX_HOP.VCO_CNT)))
+ /* macros for field VCO_CNT access */
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_VCO_CNT_TYPE U16
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_VCO_CNT_SIZE 16
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_VCO_CNT_MASK 0xffff
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_VCO_CNT_MSB 15
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_VCO_CNT_LSB 0
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_VCO_CNT_INDEX 5
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_VCO_CNT_MIN 0x0
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_VCO_CNT_MAX 0xffff
+ #define SI446X_CMD_RX_HOP_ARG_VCO_CNT_VCO_CNT_value (((cmd.arg.RX_HOP.VCO_CNT & 0xffff)))
+/* RX_HOP REPLY */
+#define SI446X_CMD_REPLY_COUNT_RX_HOP 0
+#define SI446X_CMD_ID_READ_RX_FIFO 0x77
+/* READ_RX_FIFO ARGS */
+#define SI446X_CMD_ARG_COUNT_READ_RX_FIFO 1
+/* READ_RX_FIFO REPLY */
+#define SI446X_CMD_REPLY_COUNT_READ_RX_FIFO 2
+ /* macros for entire REPLY DATA access of type U8 */
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_TYPE U8
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_SIZE 8
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_MASK 0xff
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_MSB 7
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_LSB 0
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_INDEX 0
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_ARRAY_LEN 2
+ /* macros for field DATA access */
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_DATA_TYPE U8
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_DATA_SIZE 8
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_DATA_MASK 0xff
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_DATA_MSB 7
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_DATA_LSB 0
+ #define SI446X_CMD_READ_RX_FIFO_REP_DATA_DATA_INDEX 0
+/* advanced commands */
+
+#define SI446X_CMD_ID_GET_ADC_READING 0x14
+/* GET_ADC_READING ARGS */
+#define SI446X_CMD_ARG_COUNT_GET_ADC_READING 3
+ /* macros for entire ARG ADC_EN access of type U8 */
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TYPE U8
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_SIZE 8
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_MASK 0xff
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_MSB 7
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_LSB 0
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_INDEX 1
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_value (((cmd.arg.GET_ADC_READING.ADC_EN)))
+ /* macros for field TEMPERATURE_EN access */
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TEMPERATURE_EN_TYPE enum
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TEMPERATURE_EN_SIZE 1
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TEMPERATURE_EN_MASK 0x10
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TEMPERATURE_EN_BIT 0x10
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TEMPERATURE_EN_MSB 4
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TEMPERATURE_EN_LSB 4
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TEMPERATURE_EN_INDEX 1
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TEMPERATURE_EN_is_true (cmd.arg.GET_ADC_READING.ADC_EN & 0x10)
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TEMPERATURE_EN_value (((cmd.arg.GET_ADC_READING.ADC_EN & 0x10)) >> 4)
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TEMPERATURE_EN_ENUM_ENUM_0 0
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_TEMPERATURE_EN_ENUM_ENUM_1 1
+ /* macros for field BATTERY_VOLTAGE_EN access */
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_BATTERY_VOLTAGE_EN_TYPE enum
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_BATTERY_VOLTAGE_EN_SIZE 1
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_BATTERY_VOLTAGE_EN_MASK 0x8
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_BATTERY_VOLTAGE_EN_BIT 0x8
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_BATTERY_VOLTAGE_EN_MSB 3
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_BATTERY_VOLTAGE_EN_LSB 3
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_BATTERY_VOLTAGE_EN_INDEX 1
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_BATTERY_VOLTAGE_EN_is_true (cmd.arg.GET_ADC_READING.ADC_EN & 0x8)
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_BATTERY_VOLTAGE_EN_value (((cmd.arg.GET_ADC_READING.ADC_EN & 0x8)) >> 3)
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_BATTERY_VOLTAGE_EN_ENUM_ENUM_0 0
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_BATTERY_VOLTAGE_EN_ENUM_ENUM_1 1
+ /* macros for field ADC_GPIO_EN access */
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_EN_TYPE enum
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_EN_SIZE 1
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_EN_MASK 0x4
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_EN_BIT 0x4
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_EN_MSB 2
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_EN_LSB 2
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_EN_INDEX 1
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_EN_is_true (cmd.arg.GET_ADC_READING.ADC_EN & 0x4)
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_EN_value (((cmd.arg.GET_ADC_READING.ADC_EN & 0x4)) >> 2)
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_EN_ENUM_ENUM_0 0
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_EN_ENUM_ENUM_1 1
+ /* macros for field ADC_GPIO_PIN access */
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_PIN_TYPE enum
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_PIN_SIZE 2
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_PIN_MASK 0x3
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_PIN_MSB 1
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_PIN_LSB 0
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_PIN_INDEX 1
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_PIN_value (((cmd.arg.GET_ADC_READING.ADC_EN & 0x3)))
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_PIN_ENUM_ENUM_0 0
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_PIN_ENUM_ENUM_1 1
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_PIN_ENUM_ENUM_2 2
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_EN_ADC_GPIO_PIN_ENUM_ENUM_3 3
+ /* macros for entire ARG ADC_CFG access of type U8 */
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_TYPE U8
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_SIZE 8
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_MASK 0xff
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_MSB 7
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_LSB 0
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_INDEX 2
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_value (((cmd.arg.GET_ADC_READING.ADC_CFG)))
+ /* macros for field UDTIME access */
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_UDTIME_TYPE U8
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_UDTIME_SIZE 4
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_UDTIME_MASK 0xf0
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_UDTIME_MSB 7
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_UDTIME_LSB 4
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_UDTIME_INDEX 2
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_UDTIME_value (((cmd.arg.GET_ADC_READING.ADC_CFG & 0xf0)) >> 4)
+ /* macros for field GPIO_ATT access */
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_TYPE enum
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_SIZE 4
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_MASK 0xf
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_MSB 3
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_LSB 0
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_INDEX 2
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_value (((cmd.arg.GET_ADC_READING.ADC_CFG & 0xf)))
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_ENUM_0P8 0
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_ENUM_1P6 4
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_ENUM_3P2 5
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_ENUM_2P4 8
+ #define SI446X_CMD_GET_ADC_READING_ARG_ADC_CFG_GPIO_ATT_ENUM_3P6 9
+/* GET_ADC_READING REPLY */
+#define SI446X_CMD_REPLY_COUNT_GET_ADC_READING 6
+ /* macros for entire REPLY GPIO_ADC access of type U16 */
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_TYPE U16
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_SIZE 16
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_MASK 0xffff
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_MSB 15
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_LSB 0
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_INDEX 1
+ /* macros for field GPIO_ADC access */
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_GPIO_ADC_TYPE U16
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_GPIO_ADC_SIZE 11
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_GPIO_ADC_MASK 0x7ff
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_GPIO_ADC_MSB 10
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_GPIO_ADC_LSB 0
+ #define SI446X_CMD_GET_ADC_READING_REP_GPIO_ADC_GPIO_ADC_INDEX 1
+ /* macros for entire REPLY BATTERY_ADC access of type U16 */
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_TYPE U16
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_SIZE 16
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_MASK 0xffff
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_MSB 15
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_LSB 0
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_INDEX 3
+ /* macros for field BATTERY_ADC access */
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_BATTERY_ADC_TYPE U16
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_BATTERY_ADC_SIZE 11
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_BATTERY_ADC_MASK 0x7ff
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_BATTERY_ADC_MSB 10
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_BATTERY_ADC_LSB 0
+ #define SI446X_CMD_GET_ADC_READING_REP_BATTERY_ADC_BATTERY_ADC_INDEX 3
+ /* macros for entire REPLY TEMP_ADC access of type U16 */
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_TYPE U16
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_SIZE 16
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_MASK 0xffff
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_MSB 15
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_LSB 0
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_INDEX 5
+ /* macros for field TEMP_ADC access */
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_TEMP_ADC_TYPE U16
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_TEMP_ADC_SIZE 11
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_TEMP_ADC_MASK 0x7ff
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_TEMP_ADC_MSB 10
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_TEMP_ADC_LSB 0
+ #define SI446X_CMD_GET_ADC_READING_REP_TEMP_ADC_TEMP_ADC_INDEX 5
+#define SI446X_CMD_ID_GET_PH_STATUS 0x21
+/* GET_PH_STATUS ARGS */
+#define SI446X_CMD_ARG_COUNT_GET_PH_STATUS 2
+ /* macros for entire ARG PH_CLR_PEND access of type U8 */
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_TYPE U8
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_SIZE 8
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_MASK 0xff
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_MSB 7
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_LSB 0
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_INDEX 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_value (((cmd.arg.GET_PH_STATUS.PH_CLR_PEND)))
+ /* macros for field FILTER_MATCH_PEND_CLR access */
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_MASK 0x80
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_BIT 0x80
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_MSB 7
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_LSB 7
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_is_true (cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x80)
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MATCH_PEND_CLR_value (((cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x80)) >> 7)
+ /* macros for field FILTER_MISS_PEND_CLR access */
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_MASK 0x40
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_BIT 0x40
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_MSB 6
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_LSB 6
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_is_true (cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x40)
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_FILTER_MISS_PEND_CLR_value (((cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x40)) >> 6)
+ /* macros for field PACKET_SENT_PEND_CLR access */
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_MASK 0x20
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_BIT 0x20
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_MSB 5
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_LSB 5
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_is_true (cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x20)
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_SENT_PEND_CLR_value (((cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x20)) >> 5)
+ /* macros for field PACKET_RX_PEND_CLR access */
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_MASK 0x10
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_BIT 0x10
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_MSB 4
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_LSB 4
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_is_true (cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x10)
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_PACKET_RX_PEND_CLR_value (((cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x10)) >> 4)
+ /* macros for field CRC_ERROR_PEND_CLR access */
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_MASK 0x8
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_BIT 0x8
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_MSB 3
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_LSB 3
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_is_true (cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x8)
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_CRC_ERROR_PEND_CLR_value (((cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x8)) >> 3)
+ /* macros for field ALT_CRC_ERROR_PEND_CLR access */
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_MASK 0x4
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_BIT 0x4
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_MSB 2
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_LSB 2
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_is_true (cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x4)
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_ALT_CRC_ERROR_PEND_CLR_value (((cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x4)) >> 2)
+ /* macros for field TX_FIFO_ALMOST_EMPTY_PEND_CLR access */
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_MASK 0x2
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_BIT 0x2
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_MSB 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_LSB 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_is_true (cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x2)
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_TX_FIFO_ALMOST_EMPTY_PEND_CLR_value (((cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x2)) >> 1)
+ /* macros for field RX_FIFO_ALMOST_FULL_PEND_CLR access */
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_MASK 0x1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_BIT 0x1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_MSB 0
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_LSB 0
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_is_true (cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x1)
+ #define SI446X_CMD_GET_PH_STATUS_ARG_PH_CLR_PEND_RX_FIFO_ALMOST_FULL_PEND_CLR_value (((cmd.arg.GET_PH_STATUS.PH_CLR_PEND & 0x1)))
+/* GET_PH_STATUS REPLY */
+#define SI446X_CMD_REPLY_COUNT_GET_PH_STATUS 2
+ /* macros for entire REPLY PH_PEND access of type U8 */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_TYPE U8
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_SIZE 8
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_MASK 0xff
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_MSB 7
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_LSB 0
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_INDEX 1
+ /* macros for field FILTER_MATCH_PEND access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_MASK 0x80
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_BIT 0x80
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_MSB 7
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_LSB 7
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MATCH_PEND_INDEX 1
+ /* macros for field FILTER_MISS_PEND access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MISS_PEND_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MISS_PEND_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MISS_PEND_MASK 0x40
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MISS_PEND_BIT 0x40
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MISS_PEND_MSB 6
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MISS_PEND_LSB 6
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_FILTER_MISS_PEND_INDEX 1
+ /* macros for field PACKET_SENT_PEND access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_SENT_PEND_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_SENT_PEND_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_SENT_PEND_MASK 0x20
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_SENT_PEND_BIT 0x20
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_SENT_PEND_MSB 5
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_SENT_PEND_LSB 5
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_SENT_PEND_INDEX 1
+ /* macros for field PACKET_RX_PEND access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_RX_PEND_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_RX_PEND_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_RX_PEND_MASK 0x10
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_RX_PEND_BIT 0x10
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_RX_PEND_MSB 4
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_RX_PEND_LSB 4
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_PACKET_RX_PEND_INDEX 1
+ /* macros for field CRC_ERROR_PEND access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_CRC_ERROR_PEND_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_CRC_ERROR_PEND_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_CRC_ERROR_PEND_MASK 0x8
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_CRC_ERROR_PEND_BIT 0x8
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_CRC_ERROR_PEND_MSB 3
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_CRC_ERROR_PEND_LSB 3
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_CRC_ERROR_PEND_INDEX 1
+ /* macros for field ALT_CRC_ERROR_PEND access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_MASK 0x4
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_BIT 0x4
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_MSB 2
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_LSB 2
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_ALT_CRC_ERROR_PEND_INDEX 1
+ /* macros for field TX_FIFO_ALMOST_EMPTY_PEND access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_MASK 0x2
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_BIT 0x2
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_MSB 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_LSB 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_INDEX 1
+ /* macros for field RX_FIFO_ALMOST_FULL_PEND access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_MASK 0x1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_BIT 0x1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_MSB 0
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_LSB 0
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_PEND_RX_FIFO_ALMOST_FULL_PEND_INDEX 1
+ /* macros for entire REPLY PH_STATUS access of type U8 */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_TYPE U8
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_SIZE 8
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_MASK 0xff
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_MSB 7
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_LSB 0
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_INDEX 2
+ /* macros for field FILTER_MATCH access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MATCH_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MATCH_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MATCH_MASK 0x80
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MATCH_BIT 0x80
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MATCH_MSB 7
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MATCH_LSB 7
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MATCH_INDEX 2
+ /* macros for field FILTER_MISS access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MISS_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MISS_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MISS_MASK 0x40
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MISS_BIT 0x40
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MISS_MSB 6
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MISS_LSB 6
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_FILTER_MISS_INDEX 2
+ /* macros for field PACKET_SENT access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_SENT_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_SENT_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_SENT_MASK 0x20
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_SENT_BIT 0x20
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_SENT_MSB 5
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_SENT_LSB 5
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_SENT_INDEX 2
+ /* macros for field PACKET_RX access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_RX_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_RX_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_RX_MASK 0x10
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_RX_BIT 0x10
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_RX_MSB 4
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_RX_LSB 4
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_PACKET_RX_INDEX 2
+ /* macros for field CRC_ERROR access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_CRC_ERROR_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_CRC_ERROR_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_CRC_ERROR_MASK 0x8
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_CRC_ERROR_BIT 0x8
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_CRC_ERROR_MSB 3
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_CRC_ERROR_LSB 3
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_CRC_ERROR_INDEX 2
+ /* macros for field ALT_CRC_ERROR access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_MASK 0x4
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_BIT 0x4
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_MSB 2
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_LSB 2
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_ALT_CRC_ERROR_INDEX 2
+ /* macros for field TX_FIFO_ALMOST_EMPTY access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_MASK 0x2
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_BIT 0x2
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_MSB 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_LSB 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_TX_FIFO_ALMOST_EMPTY_INDEX 2
+ /* macros for field RX_FIFO_ALMOST_FULL access */
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_TYPE bool
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_SIZE 1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_MASK 0x1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_BIT 0x1
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_MSB 0
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_LSB 0
+ #define SI446X_CMD_GET_PH_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_INDEX 2
+#define SI446X_CMD_ID_GET_CHIP_STATUS 0x23
+/* GET_CHIP_STATUS ARGS */
+#define SI446X_CMD_ARG_COUNT_GET_CHIP_STATUS 2
+ /* macros for entire ARG CHIP_CLR_PEND access of type U8 */
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_TYPE U8
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_SIZE 8
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_MASK 0xff
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_MSB 7
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_LSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_INDEX 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_value (((cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND)))
+ /* macros for field CAL_PEND_CLR access */
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_MASK 0x40
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_BIT 0x40
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_MSB 6
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_LSB 6
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_is_true (cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x40)
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CAL_PEND_CLR_value (((cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x40)) >> 6)
+ /* macros for field FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR access */
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_MASK 0x20
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_BIT 0x20
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_MSB 5
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_LSB 5
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_is_true (cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x20)
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_CLR_value (((cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x20)) >> 5)
+ /* macros for field STATE_CHANGE_PEND_CLR access */
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_MASK 0x10
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_BIT 0x10
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_MSB 4
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_LSB 4
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_is_true (cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x10)
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_STATE_CHANGE_PEND_CLR_value (((cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x10)) >> 4)
+ /* macros for field CMD_ERROR_PEND_CLR access */
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_MASK 0x8
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_BIT 0x8
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_MSB 3
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_LSB 3
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_is_true (cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x8)
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CMD_ERROR_PEND_CLR_value (((cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x8)) >> 3)
+ /* macros for field CHIP_READY_PEND_CLR access */
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_MASK 0x4
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_BIT 0x4
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_MSB 2
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_LSB 2
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_is_true (cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x4)
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_CHIP_READY_PEND_CLR_value (((cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x4)) >> 2)
+ /* macros for field LOW_BATT_PEND_CLR access */
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_MASK 0x2
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_BIT 0x2
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_MSB 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_LSB 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_is_true (cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x2)
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_LOW_BATT_PEND_CLR_value (((cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x2)) >> 1)
+ /* macros for field WUT_PEND_CLR access */
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_MASK 0x1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_BIT 0x1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_MSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_LSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_INDEX 1
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_is_true (cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x1)
+ #define SI446X_CMD_GET_CHIP_STATUS_ARG_CHIP_CLR_PEND_WUT_PEND_CLR_value (((cmd.arg.GET_CHIP_STATUS.CHIP_CLR_PEND & 0x1)))
+/* GET_CHIP_STATUS REPLY */
+#define SI446X_CMD_REPLY_COUNT_GET_CHIP_STATUS 4
+ /* macros for entire REPLY CHIP_PEND access of type U8 */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_TYPE U8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_SIZE 8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_MASK 0xff
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_MSB 7
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_LSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_INDEX 1
+ /* macros for field CAL_PEND access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CAL_PEND_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CAL_PEND_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CAL_PEND_MASK 0x40
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CAL_PEND_BIT 0x40
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CAL_PEND_MSB 6
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CAL_PEND_LSB 6
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CAL_PEND_INDEX 1
+ /* macros for field FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_MASK 0x20
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_BIT 0x20
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_MSB 5
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_LSB 5
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND_INDEX 1
+ /* macros for field STATE_CHANGE_PEND access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_MASK 0x10
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_BIT 0x10
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_MSB 4
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_LSB 4
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_STATE_CHANGE_PEND_INDEX 1
+ /* macros for field CMD_ERROR_PEND access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_MASK 0x8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_BIT 0x8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_MSB 3
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_LSB 3
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CMD_ERROR_PEND_INDEX 1
+ /* macros for field CHIP_READY_PEND access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_MASK 0x4
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_BIT 0x4
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_MSB 2
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_LSB 2
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_CHIP_READY_PEND_INDEX 1
+ /* macros for field LOW_BATT_PEND access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_MASK 0x2
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_BIT 0x2
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_MSB 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_LSB 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_LOW_BATT_PEND_INDEX 1
+ /* macros for field WUT_PEND access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_WUT_PEND_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_WUT_PEND_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_WUT_PEND_MASK 0x1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_WUT_PEND_BIT 0x1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_WUT_PEND_MSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_WUT_PEND_LSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_PEND_WUT_PEND_INDEX 1
+ /* macros for entire REPLY CHIP_STATUS access of type U8 */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_TYPE U8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_SIZE 8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_MASK 0xff
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_MSB 7
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_LSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_INDEX 2
+ /* macros for field CAL access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CAL_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CAL_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CAL_MASK 0x40
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CAL_BIT 0x40
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CAL_MSB 6
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CAL_LSB 6
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CAL_INDEX 2
+ /* macros for field FIFO_UNDERFLOW_OVERFLOW_ERROR access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_MASK 0x20
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_BIT 0x20
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_MSB 5
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_LSB 5
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_FIFO_UNDERFLOW_OVERFLOW_ERROR_INDEX 2
+ /* macros for field STATE_CHANGE access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_STATE_CHANGE_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_STATE_CHANGE_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_STATE_CHANGE_MASK 0x10
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_STATE_CHANGE_BIT 0x10
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_STATE_CHANGE_MSB 4
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_STATE_CHANGE_LSB 4
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_STATE_CHANGE_INDEX 2
+ /* macros for field CMD_ERROR access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CMD_ERROR_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CMD_ERROR_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CMD_ERROR_MASK 0x8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CMD_ERROR_BIT 0x8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CMD_ERROR_MSB 3
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CMD_ERROR_LSB 3
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CMD_ERROR_INDEX 2
+ /* macros for field CHIP_READY access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CHIP_READY_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CHIP_READY_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CHIP_READY_MASK 0x4
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CHIP_READY_BIT 0x4
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CHIP_READY_MSB 2
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CHIP_READY_LSB 2
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_CHIP_READY_INDEX 2
+ /* macros for field LOW_BATT access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_LOW_BATT_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_LOW_BATT_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_LOW_BATT_MASK 0x2
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_LOW_BATT_BIT 0x2
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_LOW_BATT_MSB 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_LOW_BATT_LSB 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_LOW_BATT_INDEX 2
+ /* macros for field WUT access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_WUT_TYPE bool
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_WUT_SIZE 1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_WUT_MASK 0x1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_WUT_BIT 0x1
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_WUT_MSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_WUT_LSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CHIP_STATUS_WUT_INDEX 2
+ /* macros for entire REPLY CMD_ERR_STATUS access of type U8 */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_TYPE U8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_SIZE 8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_MASK 0xff
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_MSB 7
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_LSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_INDEX 3
+ /* macros for field CMD_ERR_STATUS access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_TYPE enum
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_SIZE 8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_MASK 0xff
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_MSB 7
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_LSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_INDEX 3
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_ENUM_CMD_ERROR_NONE 0
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_ENUM_CMD_ERROR_BAD_COMMAND 16
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_ENUM_CMD_ERROR_BAD_ARG 17
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_ENUM_CMD_ERROR_COMMAND_BUSY 18
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_ENUM_CMD_ERROR_INVALID_STATE 19
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_ENUM_CMD_ERROR_BAD_BOOTMODE 49
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_STATUS_CMD_ERR_STATUS_ENUM_CMD_ERROR_BAD_PROPERTY 64
+ /* macros for entire REPLY CMD_ERR_CMD_ID access of type U8 */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_TYPE U8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_SIZE 8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_MASK 0xff
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_MSB 7
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_LSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_INDEX 4
+ /* macros for field CMD_ERR_CMD_ID access */
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_CMD_ERR_CMD_ID_TYPE enum
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_CMD_ERR_CMD_ID_SIZE 8
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_CMD_ERR_CMD_ID_MASK 0xff
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_CMD_ERR_CMD_ID_MSB 7
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_CMD_ERR_CMD_ID_LSB 0
+ #define SI446X_CMD_GET_CHIP_STATUS_REP_CMD_ERR_CMD_ID_CMD_ERR_CMD_ID_INDEX 4
+
+
+#endif /* _SI446X_CMD_H_ */
+
diff --git a/STM32Project/Spino_bringup/Core/Inc/si446x_patch.h b/STM32Project/Spino_bringup/Core/Inc/si446x_patch.h
new file mode 100644
index 0000000000000000000000000000000000000000..97734e8c353000fa6123d8a698c171606b6cbc4f
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Inc/si446x_patch.h
@@ -0,0 +1,80 @@
+// COPYRIGHT=2015 Silicon Laboratories, Inc.
+// GENERATED=09:13 October 20 2015
+// ROMID=0x06
+// FUNCTION=TEST
+// MAJOR=0
+// MINOR=0
+// BUILD=0
+// PATCHID=0xCA90
+// REQUIRES=NONE
+// SIZE=512
+// CRCT=0x714b
+
+#define SI446X_PATCH_ROMID 00
+#define SI446X_PATCH_ID 00
+
+#define SI446X_PATCH_CMDS \
+0x08,0x04,0x21,0x71,0x4B,0x00,0x00,0xDC,0x95, \
+0x08,0x05,0xA6,0x22,0x21,0xF0,0x41,0x5B,0x26, \
+0x08,0xE2,0x2F,0x1C,0xBB,0x0A,0xA8,0x94,0x28, \
+0x08,0x05,0x87,0x67,0xE2,0x58,0x1A,0x07,0x5B, \
+0x08,0xE1,0xD0,0x72,0xD8,0x8A,0xB8,0x5B,0x7D, \
+0x08,0x05,0x11,0xEC,0x9E,0x28,0x23,0x1B,0x6D, \
+0x08,0xE2,0x4F,0x8A,0xB2,0xA9,0x29,0x14,0x13, \
+0x08,0x05,0xD1,0x2E,0x71,0x6A,0x51,0x4C,0x2C, \
+0x08,0xE5,0x80,0x27,0x42,0xA4,0x69,0xB0,0x7F, \
+0x08,0x05,0xAA,0x81,0x2A,0xBD,0x45,0xE8,0xA8, \
+0x08,0xEA,0xE4,0xF0,0x24,0xC9,0x9F,0xCC,0x3C, \
+0x08,0x05,0x08,0xF5,0x05,0x04,0x27,0x62,0x98, \
+0x08,0xEA,0x6B,0x62,0x84,0xA1,0xF9,0x4A,0xE2, \
+0x08,0x05,0xE9,0x77,0x05,0x4F,0x84,0xEE,0x35, \
+0x08,0xE2,0x43,0xC3,0x8D,0xFB,0xAD,0x54,0x25, \
+0x08,0x05,0x14,0x06,0x5E,0x39,0x36,0x2F,0x45, \
+0x08,0xEA,0x0C,0x1C,0x74,0xD0,0x11,0xFC,0x32, \
+0x08,0x05,0xDA,0x38,0xBA,0x0E,0x3C,0xE7,0x8B, \
+0x08,0xEA,0xB0,0x09,0xE6,0xFF,0x94,0xBB,0xA9, \
+0x08,0x05,0xD7,0x11,0x29,0xFE,0xDC,0x71,0xD5, \
+0x08,0xEA,0x7F,0x83,0xA7,0x60,0x90,0x62,0x18, \
+0x08,0x05,0x84,0x7F,0x6A,0xD1,0x91,0xC6,0x52, \
+0x08,0xEA,0x2A,0xD8,0x7B,0x8E,0x4A,0x9F,0x91, \
+0x08,0x05,0xBD,0xAA,0x9D,0x16,0x18,0x06,0x15, \
+0x08,0xE2,0x55,0xAD,0x2D,0x0A,0x14,0x1F,0x5D, \
+0x08,0x05,0xD3,0xE0,0x7C,0x39,0xCF,0x01,0xF0, \
+0x08,0xEF,0x3A,0x91,0x72,0x6A,0x03,0xBB,0x96, \
+0x08,0xE7,0x83,0x6D,0xA4,0x92,0xFC,0x13,0xA7, \
+0x08,0xEF,0xF8,0xFD,0xCF,0x62,0x07,0x6F,0x1E, \
+0x08,0xE7,0x4C,0xEA,0x4A,0x75,0x4F,0xD6,0xCF, \
+0x08,0xE2,0xF6,0x11,0xE4,0x26,0x0D,0x4D,0xC6, \
+0x08,0x05,0xFB,0xBF,0xE8,0x07,0x89,0xC3,0x51, \
+0x08,0xEF,0x82,0x27,0x04,0x3F,0x96,0xA8,0x58, \
+0x08,0xE7,0x41,0x29,0x3C,0x75,0x2A,0x03,0x1C, \
+0x08,0xEF,0xAF,0x59,0x98,0x36,0xAA,0x0F,0x06, \
+0x08,0xE6,0xF6,0x93,0x41,0x2D,0xEC,0x0E,0x99, \
+0x08,0x05,0x29,0x19,0x90,0xE5,0xAA,0x36,0x40, \
+0x08,0xE7,0xFB,0x68,0x10,0x7D,0x77,0x5D,0xC0, \
+0x08,0xE7,0xCB,0xB4,0xDD,0xCE,0x90,0x54,0xBE, \
+0x08,0xE7,0x72,0x8A,0xD6,0x02,0xF4,0xDD,0xCC, \
+0x08,0xE7,0x6A,0x21,0x0B,0x02,0x86,0xEC,0x15, \
+0x08,0xE7,0x7B,0x7C,0x3D,0x6B,0x81,0x03,0xD0, \
+0x08,0xEF,0x7D,0x61,0x36,0x94,0x7C,0xA0,0xDF, \
+0x08,0xEF,0xCC,0x85,0x3B,0xDA,0xE0,0x5C,0x1C, \
+0x08,0xE7,0xE3,0x75,0xBB,0x39,0x22,0x4B,0xA8, \
+0x08,0xEF,0xF9,0xCE,0xE0,0x5E,0xEB,0x1D,0xCB, \
+0x08,0xE7,0xBD,0xE2,0x70,0xD5,0xAB,0x4E,0x3F, \
+0x08,0xE7,0xB7,0x8D,0x20,0x68,0x6B,0x09,0x52, \
+0x08,0xEF,0xA1,0x1B,0x90,0xCD,0x98,0x00,0x63, \
+0x08,0xEF,0x54,0x67,0x5D,0x9C,0x11,0xFC,0x45, \
+0x08,0xE7,0xD4,0x9B,0xC8,0x97,0xBE,0x8A,0x07, \
+0x08,0xEF,0x52,0x8D,0x90,0x63,0x73,0xD5,0x2A, \
+0x08,0xEF,0x03,0xBC,0x6E,0x1C,0x76,0xBE,0x4A, \
+0x08,0xE7,0xC2,0xED,0x67,0xBA,0x5E,0x66,0x21, \
+0x08,0xEF,0xE7,0x3F,0x87,0xBE,0xE0,0x7A,0x6D, \
+0x08,0xE7,0xC9,0x70,0x93,0x1D,0x64,0xF5,0x6C, \
+0x08,0xEF,0xF5,0x28,0x08,0x34,0xB3,0xB6,0x2C, \
+0x08,0xEF,0x3A,0x0A,0xEC,0x0F,0xDB,0x56,0xCA, \
+0x08,0xEF,0x39,0xA0,0x6E,0xED,0x79,0xD0,0x24, \
+0x08,0xE7,0x6C,0x0B,0xAF,0xA9,0x4E,0x40,0xB5, \
+0x08,0xE9,0xB9,0xAF,0xBF,0x25,0x50,0xD1,0x37, \
+0x08,0x05,0x9E,0xDB,0xDE,0x3F,0x94,0xE9,0x6B, \
+0x08,0xEC,0xC5,0x05,0xAA,0x57,0xDC,0x8A,0x5E, \
+0x08,0x05,0x70,0xDA,0x84,0x84,0xDD,0xCA,0x90
diff --git a/STM32Project/Spino_bringup/Core/Inc/stm32l4xx_hal_conf.h b/STM32Project/Spino_bringup/Core/Inc/stm32l4xx_hal_conf.h
new file mode 100644
index 0000000000000000000000000000000000000000..b39c2b6e23708584da765eabb9d71446172f4c66
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Inc/stm32l4xx_hal_conf.h
@@ -0,0 +1,482 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l4xx_hal_conf.h
+ * @author MCD Application Team
+ * @brief HAL configuration template file.
+ * This file should be copied to the application folder and renamed
+ * to stm32l4xx_hal_conf.h.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2017 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef STM32L4xx_HAL_CONF_H
+#define STM32L4xx_HAL_CONF_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+
+/* ########################## Module Selection ############################## */
+/**
+ * @brief This is the list of modules to be used in the HAL driver
+ */
+#define HAL_MODULE_ENABLED
+/*#define HAL_ADC_MODULE_ENABLED */
+/*#define HAL_CRYP_MODULE_ENABLED */
+/*#define HAL_CAN_MODULE_ENABLED */
+/*#define HAL_COMP_MODULE_ENABLED */
+/*#define HAL_CRC_MODULE_ENABLED */
+/*#define HAL_CRYP_MODULE_ENABLED */
+/*#define HAL_DAC_MODULE_ENABLED */
+/*#define HAL_DCMI_MODULE_ENABLED */
+/*#define HAL_DMA2D_MODULE_ENABLED */
+/*#define HAL_DFSDM_MODULE_ENABLED */
+/*#define HAL_DSI_MODULE_ENABLED */
+/*#define HAL_FIREWALL_MODULE_ENABLED */
+/*#define HAL_GFXMMU_MODULE_ENABLED */
+/*#define HAL_HCD_MODULE_ENABLED */
+/*#define HAL_HASH_MODULE_ENABLED */
+/*#define HAL_I2S_MODULE_ENABLED */
+/*#define HAL_IRDA_MODULE_ENABLED */
+/*#define HAL_IWDG_MODULE_ENABLED */
+/*#define HAL_LTDC_MODULE_ENABLED */
+/*#define HAL_LCD_MODULE_ENABLED */
+/*#define HAL_LPTIM_MODULE_ENABLED */
+/*#define HAL_MMC_MODULE_ENABLED */
+/*#define HAL_NAND_MODULE_ENABLED */
+/*#define HAL_NOR_MODULE_ENABLED */
+/*#define HAL_OPAMP_MODULE_ENABLED */
+/*#define HAL_OSPI_MODULE_ENABLED */
+/*#define HAL_OSPI_MODULE_ENABLED */
+/*#define HAL_PCD_MODULE_ENABLED */
+/*#define HAL_PKA_MODULE_ENABLED */
+/*#define HAL_QSPI_MODULE_ENABLED */
+/*#define HAL_QSPI_MODULE_ENABLED */
+/*#define HAL_RNG_MODULE_ENABLED */
+/*#define HAL_RTC_MODULE_ENABLED */
+/*#define HAL_SAI_MODULE_ENABLED */
+/*#define HAL_SD_MODULE_ENABLED */
+/*#define HAL_SMBUS_MODULE_ENABLED */
+/*#define HAL_SMARTCARD_MODULE_ENABLED */
+#define HAL_SPI_MODULE_ENABLED
+/*#define HAL_SRAM_MODULE_ENABLED */
+/*#define HAL_SWPMI_MODULE_ENABLED */
+/*#define HAL_TIM_MODULE_ENABLED */
+/*#define HAL_TSC_MODULE_ENABLED */
+#define HAL_UART_MODULE_ENABLED
+/*#define HAL_USART_MODULE_ENABLED */
+/*#define HAL_WWDG_MODULE_ENABLED */
+/*#define HAL_EXTI_MODULE_ENABLED */
+/*#define HAL_PSSI_MODULE_ENABLED */
+#define HAL_GPIO_MODULE_ENABLED
+#define HAL_EXTI_MODULE_ENABLED
+#define HAL_I2C_MODULE_ENABLED
+#define HAL_DMA_MODULE_ENABLED
+#define HAL_RCC_MODULE_ENABLED
+#define HAL_FLASH_MODULE_ENABLED
+#define HAL_PWR_MODULE_ENABLED
+#define HAL_CORTEX_MODULE_ENABLED
+
+/* ########################## Oscillator Values adaptation ####################*/
+/**
+ * @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSE is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSE_VALUE)
+ #define HSE_VALUE ((uint32_t)8000000U) /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (HSE_STARTUP_TIMEOUT)
+ #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief Internal Multiple Speed oscillator (MSI) default value.
+ * This value is the default MSI range value after Reset.
+ */
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE ((uint32_t)4000000U) /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+/**
+ * @brief Internal High Speed oscillator (HSI) value.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSI is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE ((uint32_t)16000000U) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+/**
+ * @brief Internal High Speed oscillator (HSI48) value for USB FS, SDMMC and RNG.
+ * This internal oscillator is mainly dedicated to provide a high precision clock to
+ * the USB peripheral by means of a special Clock Recovery System (CRS) circuitry.
+ * When the CRS is not used, the HSI48 RC oscillator runs on it default frequency
+ * which is subject to manufacturing process variations.
+ */
+#if !defined (HSI48_VALUE)
+ #define HSI48_VALUE ((uint32_t)48000000U) /*!< Value of the Internal High Speed oscillator for USB FS/SDMMC/RNG in Hz.
+ The real value my vary depending on manufacturing process variations.*/
+#endif /* HSI48_VALUE */
+
+/**
+ * @brief Internal Low Speed oscillator (LSI) value.
+ */
+#if !defined (LSI_VALUE)
+ #define LSI_VALUE 32000U /*!< LSI Typical Value in Hz*/
+#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
+ The real value may vary depending on the variations
+ in voltage and temperature.*/
+
+/**
+ * @brief External Low Speed oscillator (LSE) value.
+ * This value is used by the UART, RTC HAL module to compute the system frequency
+ */
+#if !defined (LSE_VALUE)
+ #define LSE_VALUE 32768U /*!< Value of the External oscillator in Hz*/
+#endif /* LSE_VALUE */
+
+#if !defined (LSE_STARTUP_TIMEOUT)
+ #define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief External clock source for SAI1 peripheral
+ * This value is used by the RCC HAL module to compute the SAI1 & SAI2 clock source
+ * frequency.
+ */
+#if !defined (EXTERNAL_SAI1_CLOCK_VALUE)
+ #define EXTERNAL_SAI1_CLOCK_VALUE 2097000U /*!< Value of the SAI1 External clock source in Hz*/
+#endif /* EXTERNAL_SAI1_CLOCK_VALUE */
+
+/**
+ * @brief External clock source for SAI2 peripheral
+ * This value is used by the RCC HAL module to compute the SAI1 & SAI2 clock source
+ * frequency.
+ */
+#if !defined (EXTERNAL_SAI2_CLOCK_VALUE)
+ #define EXTERNAL_SAI2_CLOCK_VALUE 48000U /*!< Value of the SAI2 External clock source in Hz*/
+#endif /* EXTERNAL_SAI2_CLOCK_VALUE */
+
+/* Tip: To avoid modifying this file each time you need to use different HSE,
+ === you can define the HSE value in your toolchain compiler preprocessor. */
+
+/* ########################### System Configuration ######################### */
+/**
+ * @brief This is the HAL system configuration section
+ */
+
+#define VDD_VALUE 3300U /*!< Value of VDD in mv */
+#define TICK_INT_PRIORITY 15U /*!< tick interrupt priority */
+#define USE_RTOS 0U
+#define PREFETCH_ENABLE 0U
+#define INSTRUCTION_CACHE_ENABLE 1U
+#define DATA_CACHE_ENABLE 1U
+
+/* ########################## Assert Selection ############################## */
+/**
+ * @brief Uncomment the line below to expanse the "assert_param" macro in the
+ * HAL drivers code
+ */
+/* #define USE_FULL_ASSERT 1U */
+
+/* ################## Register callback feature configuration ############### */
+/**
+ * @brief Set below the peripheral configuration to "1U" to add the support
+ * of HAL callback registration/deregistration feature for the HAL
+ * driver(s). This allows user application to provide specific callback
+ * functions thanks to HAL_PPP_RegisterCallback() rather than overwriting
+ * the default weak callback functions (see each stm32l4xx_hal_ppp.h file
+ * for possible callback identifiers defined in HAL_PPP_CallbackIDTypeDef
+ * for each PPP peripheral).
+ */
+#define USE_HAL_ADC_REGISTER_CALLBACKS 0U
+#define USE_HAL_CAN_REGISTER_CALLBACKS 0U
+#define USE_HAL_COMP_REGISTER_CALLBACKS 0U
+#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U
+#define USE_HAL_DAC_REGISTER_CALLBACKS 0U
+#define USE_HAL_DCMI_REGISTER_CALLBACKS 0U
+#define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U
+#define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U
+#define USE_HAL_DSI_REGISTER_CALLBACKS 0U
+#define USE_HAL_GFXMMU_REGISTER_CALLBACKS 0U
+#define USE_HAL_HASH_REGISTER_CALLBACKS 0U
+#define USE_HAL_HCD_REGISTER_CALLBACKS 0U
+#define USE_HAL_I2C_REGISTER_CALLBACKS 0U
+#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U
+#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U
+#define USE_HAL_LTDC_REGISTER_CALLBACKS 0U
+#define USE_HAL_MMC_REGISTER_CALLBACKS 0U
+#define USE_HAL_OPAMP_REGISTER_CALLBACKS 0U
+#define USE_HAL_OSPI_REGISTER_CALLBACKS 0U
+#define USE_HAL_PCD_REGISTER_CALLBACKS 0U
+#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U
+#define USE_HAL_RNG_REGISTER_CALLBACKS 0U
+#define USE_HAL_RTC_REGISTER_CALLBACKS 0U
+#define USE_HAL_SAI_REGISTER_CALLBACKS 0U
+#define USE_HAL_SD_REGISTER_CALLBACKS 0U
+#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U
+#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U
+#define USE_HAL_SPI_REGISTER_CALLBACKS 0U
+#define USE_HAL_SWPMI_REGISTER_CALLBACKS 0U
+#define USE_HAL_TIM_REGISTER_CALLBACKS 0U
+#define USE_HAL_TSC_REGISTER_CALLBACKS 0U
+#define USE_HAL_UART_REGISTER_CALLBACKS 0U
+#define USE_HAL_USART_REGISTER_CALLBACKS 0U
+#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U
+
+/* ################## SPI peripheral configuration ########################## */
+
+/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
+ * Activated: CRC code is present inside driver
+ * Deactivated: CRC code cleaned from driver
+ */
+
+#define USE_SPI_CRC 0U
+
+/* Includes ------------------------------------------------------------------*/
+/**
+ * @brief Include module's header file
+ */
+
+#ifdef HAL_RCC_MODULE_ENABLED
+ #include "stm32l4xx_hal_rcc.h"
+#endif /* HAL_RCC_MODULE_ENABLED */
+
+#ifdef HAL_GPIO_MODULE_ENABLED
+ #include "stm32l4xx_hal_gpio.h"
+#endif /* HAL_GPIO_MODULE_ENABLED */
+
+#ifdef HAL_DMA_MODULE_ENABLED
+ #include "stm32l4xx_hal_dma.h"
+#endif /* HAL_DMA_MODULE_ENABLED */
+
+#ifdef HAL_DFSDM_MODULE_ENABLED
+ #include "stm32l4xx_hal_dfsdm.h"
+#endif /* HAL_DFSDM_MODULE_ENABLED */
+
+#ifdef HAL_CORTEX_MODULE_ENABLED
+ #include "stm32l4xx_hal_cortex.h"
+#endif /* HAL_CORTEX_MODULE_ENABLED */
+
+#ifdef HAL_ADC_MODULE_ENABLED
+ #include "stm32l4xx_hal_adc.h"
+#endif /* HAL_ADC_MODULE_ENABLED */
+
+#ifdef HAL_CAN_MODULE_ENABLED
+ #include "stm32l4xx_hal_can.h"
+#endif /* HAL_CAN_MODULE_ENABLED */
+
+#ifdef HAL_CAN_LEGACY_MODULE_ENABLED
+ #include "Legacy/stm32l4xx_hal_can_legacy.h"
+#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */
+
+#ifdef HAL_COMP_MODULE_ENABLED
+ #include "stm32l4xx_hal_comp.h"
+#endif /* HAL_COMP_MODULE_ENABLED */
+
+#ifdef HAL_CRC_MODULE_ENABLED
+ #include "stm32l4xx_hal_crc.h"
+#endif /* HAL_CRC_MODULE_ENABLED */
+
+#ifdef HAL_CRYP_MODULE_ENABLED
+ #include "stm32l4xx_hal_cryp.h"
+#endif /* HAL_CRYP_MODULE_ENABLED */
+
+#ifdef HAL_DAC_MODULE_ENABLED
+ #include "stm32l4xx_hal_dac.h"
+#endif /* HAL_DAC_MODULE_ENABLED */
+
+#ifdef HAL_DCMI_MODULE_ENABLED
+ #include "stm32l4xx_hal_dcmi.h"
+#endif /* HAL_DCMI_MODULE_ENABLED */
+
+#ifdef HAL_DMA2D_MODULE_ENABLED
+ #include "stm32l4xx_hal_dma2d.h"
+#endif /* HAL_DMA2D_MODULE_ENABLED */
+
+#ifdef HAL_DSI_MODULE_ENABLED
+ #include "stm32l4xx_hal_dsi.h"
+#endif /* HAL_DSI_MODULE_ENABLED */
+
+#ifdef HAL_EXTI_MODULE_ENABLED
+ #include "stm32l4xx_hal_exti.h"
+#endif /* HAL_EXTI_MODULE_ENABLED */
+
+#ifdef HAL_GFXMMU_MODULE_ENABLED
+ #include "stm32l4xx_hal_gfxmmu.h"
+#endif /* HAL_GFXMMU_MODULE_ENABLED */
+
+#ifdef HAL_FIREWALL_MODULE_ENABLED
+ #include "stm32l4xx_hal_firewall.h"
+#endif /* HAL_FIREWALL_MODULE_ENABLED */
+
+#ifdef HAL_FLASH_MODULE_ENABLED
+ #include "stm32l4xx_hal_flash.h"
+#endif /* HAL_FLASH_MODULE_ENABLED */
+
+#ifdef HAL_HASH_MODULE_ENABLED
+ #include "stm32l4xx_hal_hash.h"
+#endif /* HAL_HASH_MODULE_ENABLED */
+
+#ifdef HAL_HCD_MODULE_ENABLED
+ #include "stm32l4xx_hal_hcd.h"
+#endif /* HAL_HCD_MODULE_ENABLED */
+
+#ifdef HAL_I2C_MODULE_ENABLED
+ #include "stm32l4xx_hal_i2c.h"
+#endif /* HAL_I2C_MODULE_ENABLED */
+
+#ifdef HAL_IRDA_MODULE_ENABLED
+ #include "stm32l4xx_hal_irda.h"
+#endif /* HAL_IRDA_MODULE_ENABLED */
+
+#ifdef HAL_IWDG_MODULE_ENABLED
+ #include "stm32l4xx_hal_iwdg.h"
+#endif /* HAL_IWDG_MODULE_ENABLED */
+
+#ifdef HAL_LCD_MODULE_ENABLED
+ #include "stm32l4xx_hal_lcd.h"
+#endif /* HAL_LCD_MODULE_ENABLED */
+
+#ifdef HAL_LPTIM_MODULE_ENABLED
+ #include "stm32l4xx_hal_lptim.h"
+#endif /* HAL_LPTIM_MODULE_ENABLED */
+
+#ifdef HAL_LTDC_MODULE_ENABLED
+ #include "stm32l4xx_hal_ltdc.h"
+#endif /* HAL_LTDC_MODULE_ENABLED */
+
+#ifdef HAL_MMC_MODULE_ENABLED
+ #include "stm32l4xx_hal_mmc.h"
+#endif /* HAL_MMC_MODULE_ENABLED */
+
+#ifdef HAL_NAND_MODULE_ENABLED
+ #include "stm32l4xx_hal_nand.h"
+#endif /* HAL_NAND_MODULE_ENABLED */
+
+#ifdef HAL_NOR_MODULE_ENABLED
+ #include "stm32l4xx_hal_nor.h"
+#endif /* HAL_NOR_MODULE_ENABLED */
+
+#ifdef HAL_OPAMP_MODULE_ENABLED
+ #include "stm32l4xx_hal_opamp.h"
+#endif /* HAL_OPAMP_MODULE_ENABLED */
+
+#ifdef HAL_OSPI_MODULE_ENABLED
+ #include "stm32l4xx_hal_ospi.h"
+#endif /* HAL_OSPI_MODULE_ENABLED */
+
+#ifdef HAL_PCD_MODULE_ENABLED
+ #include "stm32l4xx_hal_pcd.h"
+#endif /* HAL_PCD_MODULE_ENABLED */
+
+#ifdef HAL_PKA_MODULE_ENABLED
+ #include "stm32l4xx_hal_pka.h"
+#endif /* HAL_PKA_MODULE_ENABLED */
+
+#ifdef HAL_PSSI_MODULE_ENABLED
+ #include "stm32l4xx_hal_pssi.h"
+#endif /* HAL_PSSI_MODULE_ENABLED */
+
+#ifdef HAL_PWR_MODULE_ENABLED
+ #include "stm32l4xx_hal_pwr.h"
+#endif /* HAL_PWR_MODULE_ENABLED */
+
+#ifdef HAL_QSPI_MODULE_ENABLED
+ #include "stm32l4xx_hal_qspi.h"
+#endif /* HAL_QSPI_MODULE_ENABLED */
+
+#ifdef HAL_RNG_MODULE_ENABLED
+ #include "stm32l4xx_hal_rng.h"
+#endif /* HAL_RNG_MODULE_ENABLED */
+
+#ifdef HAL_RTC_MODULE_ENABLED
+ #include "stm32l4xx_hal_rtc.h"
+#endif /* HAL_RTC_MODULE_ENABLED */
+
+#ifdef HAL_SAI_MODULE_ENABLED
+ #include "stm32l4xx_hal_sai.h"
+#endif /* HAL_SAI_MODULE_ENABLED */
+
+#ifdef HAL_SD_MODULE_ENABLED
+ #include "stm32l4xx_hal_sd.h"
+#endif /* HAL_SD_MODULE_ENABLED */
+
+#ifdef HAL_SMARTCARD_MODULE_ENABLED
+ #include "stm32l4xx_hal_smartcard.h"
+#endif /* HAL_SMARTCARD_MODULE_ENABLED */
+
+#ifdef HAL_SMBUS_MODULE_ENABLED
+ #include "stm32l4xx_hal_smbus.h"
+#endif /* HAL_SMBUS_MODULE_ENABLED */
+
+#ifdef HAL_SPI_MODULE_ENABLED
+ #include "stm32l4xx_hal_spi.h"
+#endif /* HAL_SPI_MODULE_ENABLED */
+
+#ifdef HAL_SRAM_MODULE_ENABLED
+ #include "stm32l4xx_hal_sram.h"
+#endif /* HAL_SRAM_MODULE_ENABLED */
+
+#ifdef HAL_SWPMI_MODULE_ENABLED
+ #include "stm32l4xx_hal_swpmi.h"
+#endif /* HAL_SWPMI_MODULE_ENABLED */
+
+#ifdef HAL_TIM_MODULE_ENABLED
+ #include "stm32l4xx_hal_tim.h"
+#endif /* HAL_TIM_MODULE_ENABLED */
+
+#ifdef HAL_TSC_MODULE_ENABLED
+ #include "stm32l4xx_hal_tsc.h"
+#endif /* HAL_TSC_MODULE_ENABLED */
+
+#ifdef HAL_UART_MODULE_ENABLED
+ #include "stm32l4xx_hal_uart.h"
+#endif /* HAL_UART_MODULE_ENABLED */
+
+#ifdef HAL_USART_MODULE_ENABLED
+ #include "stm32l4xx_hal_usart.h"
+#endif /* HAL_USART_MODULE_ENABLED */
+
+#ifdef HAL_WWDG_MODULE_ENABLED
+ #include "stm32l4xx_hal_wwdg.h"
+#endif /* HAL_WWDG_MODULE_ENABLED */
+
+/* Exported macro ------------------------------------------------------------*/
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief The assert_param macro is used for function's parameters check.
+ * @param expr If expr is false, it calls assert_failed function
+ * which reports the name of the source file and the source
+ * line number of the call that failed.
+ * If expr is true, it returns no value.
+ * @retval None
+ */
+ #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
+/* Exported functions ------------------------------------------------------- */
+ void assert_failed(uint8_t *file, uint32_t line);
+#else
+ #define assert_param(expr) ((void)0U)
+#endif /* USE_FULL_ASSERT */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* STM32L4xx_HAL_CONF_H */
diff --git a/STM32Project/Spino_bringup/Core/Inc/stm32l4xx_it.h b/STM32Project/Spino_bringup/Core/Inc/stm32l4xx_it.h
new file mode 100644
index 0000000000000000000000000000000000000000..eeff0247fed5859f330f601cfb77c952ea8490e5
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Inc/stm32l4xx_it.h
@@ -0,0 +1,67 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l4xx_it.h
+ * @brief This file contains the headers of the interrupt handlers.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2022 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32L4xx_IT_H
+#define __STM32L4xx_IT_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void NMI_Handler(void);
+void HardFault_Handler(void);
+void MemManage_Handler(void);
+void BusFault_Handler(void);
+void UsageFault_Handler(void);
+void SVC_Handler(void);
+void DebugMon_Handler(void);
+void PendSV_Handler(void);
+void SysTick_Handler(void);
+void I2C1_EV_IRQHandler(void);
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32L4xx_IT_H */
diff --git a/STM32Project/Spino_bringup/Core/Src/ADF7030.c b/STM32Project/Spino_bringup/Core/Src/ADF7030.c
new file mode 100644
index 0000000000000000000000000000000000000000..935851de2b09628a24a2fd081cb1bc347341644b
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Src/ADF7030.c
@@ -0,0 +1,317 @@
+/*
+ * ADF7030.c
+ *
+ * Created on: 25 juil. 2022
+ * Author: nats
+ */
+#include "main.h"
+
+/*
+ * All ADF7030 function are blocking because TX
+ * spi transfer can be interrupted
+ */
+
+/*
+ * ADF7030 format
+ * MSB = 1 : radio command
+ * MSB = 0 : Memory command
+ * UG1002 page 14
+ */
+
+#define ADF_PHY_OFF 0x81
+#define ADF_PHY_ON 0x82
+#define ADF_PHY_TX 0x84
+#define ADF_PHY_CONF 0x85
+
+#define ADF_NOP 0xFF
+
+/*
+ * For this set of memory access command see UG-1002 p. 18
+ */
+#define ADF_READ_REG32_CMD 0x78
+#define ADF_WRITE_REG32_CMD 0x38
+
+/*
+ * ADF7030 Flags
+ */
+#define ADF_CMD_RDY_FLAG 0x20
+
+/*
+ * GPIO Configuration register
+ */
+#define PROFILE_RADIO_DIG_TX_CFG1 0x20000308
+#define ADDR_GENERIC_PKT_TEST_MODES0 0x20000548
+#define PROFILE_GPCON4_7 0x20000398
+
+// Trying something crappy with a lot of enthusiasm and hope
+#define CRAP_FAST_REG_GPIO4_7 0x40000800
+
+#define EXT_PA_PIN_SEL_MASK 0x000E0000
+#define EXT_PA_PIN_SEL_SHIFT 17
+#define EXT_PA_FRAMING_EN_MASK 0x00010000
+
+#define POS_TX_TEST 16
+#define MASK_TX_TEST 0x000F0000
+
+#define TEST_DISABLED 0x00
+#define TEST_TX_CARRIER 0x01
+#define TEST_TX_PREAMBLE_PATTERN 0x06
+
+#define GPIO6 6
+#define GPIO7 7
+
+#define GPIO6_SHIFT 16
+#define GPIO7_SHIFT 24
+
+#define GPIO7_OUTPUT 0x1F
+#define GPIO6_OUTPUT 0x1E
+
+#define GPIO6_MASK 0x3F0000
+#define GPIO7_MASK 0x3F000000
+
+#define SPI2_TOUT 1000
+
+uint8_t ar_conf_adf7030[] = {
+ #include "first_conf_200bytes.cfg"
+};
+
+extern SPI_HandleTypeDef hspi2;
+
+void SPI_Write(SPI_HandleTypeDef * hspi, uint8_t * data, uint16_t len) {
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET);
+ HAL_Delay(10);
+ HAL_SPI_Transmit(hspi, data, len, SPI2_TOUT);
+ HAL_Delay(10);
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
+}
+
+void SPI_ReadWrite(SPI_HandleTypeDef * hspi, uint8_t * data, uint8_t * rbuff, uint16_t len) {
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET);
+ HAL_Delay(1);
+ HAL_SPI_TransmitReceive(hspi, data, rbuff, len, SPI2_TOUT);
+ HAL_Delay(1);
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
+}
+
+void adf_check_ready(void)
+{
+ uint8_t tx_data = ADF_NOP;
+ uint8_t rx_buff = 0;
+
+ do {
+ SPI_ReadWrite(&hspi2, &tx_data, &rx_buff, 1);
+ } while((rx_buff & ADF_CMD_RDY_FLAG) == 0);
+}
+
+uint32_t adf_read_reg(uint32_t reg_addr)
+{
+ uint8_t tx_buff[11];
+ uint8_t rx_buff[11];
+ uint8_t length = 0;
+
+ tx_buff[length++] = ADF_READ_REG32_CMD;
+ tx_buff[length++] = (reg_addr >> 24) & 0xFF;
+ tx_buff[length++] = (reg_addr >> 16) & 0xFF;
+ tx_buff[length++] = (reg_addr >> 8) & 0xFF;
+ tx_buff[length++] = reg_addr & 0xFF;
+ tx_buff[length++] = 0xFF; //wait
+ tx_buff[length++] = 0xFF; //wait
+ tx_buff[length++] = 0xFF; //read data
+ tx_buff[length++] = 0xFF; //read data
+ tx_buff[length++] = 0xFF; //read data
+ tx_buff[length++] = 0xFF; //read data
+
+ adf_check_ready();
+
+ SPI_ReadWrite(&hspi2, tx_buff, rx_buff, length);
+
+ uint32_t rval = ((uint32_t) rx_buff[7] << 24) | ((uint32_t) rx_buff[8] << 16) | (uint32_t) (rx_buff[9] << 8) | ((uint32_t) rx_buff[10]);
+
+ return rval;
+}
+
+void adf_write_reg(uint32_t reg_addr, uint32_t reg_val)
+{
+ uint8_t tx_buff[9];
+ uint8_t length = 0;
+
+ tx_buff[length++] = ADF_WRITE_REG32_CMD;
+ tx_buff[length++] = (uint8_t) ((reg_addr >> 24) & 0xFF);
+ tx_buff[length++] = (uint8_t) ((reg_addr >> 16) & 0xFF);
+ tx_buff[length++] = (uint8_t) ((reg_addr >> 8) & 0xFF);
+ tx_buff[length++] = (uint8_t) (reg_addr & 0xFF);
+ tx_buff[length++] = (uint8_t) ((reg_val >> 24) & 0xFF);
+ tx_buff[length++] = (uint8_t) ((reg_val >> 16) & 0xFF);
+ tx_buff[length++] = (uint8_t) ((reg_val >> 8) & 0xFF);
+ tx_buff[length++] = (uint8_t) (reg_val & 0xFF);
+
+ adf_check_ready();
+
+ SPI_Write(&hspi2, tx_buff, length);
+}
+
+void adf_conf_pin() {
+ uint32_t reg_val = 0;
+
+ reg_val = adf_read_reg(PROFILE_GPCON4_7);
+
+ uint32_t gp6_mask = GPIO6_MASK;
+ uint32_t gp7_mask = GPIO7_MASK;
+
+ reg_val = (reg_val & ~gp6_mask) | (reg_val & ~gp7_mask);
+ reg_val = reg_val | GPIO7_OUTPUT << GPIO7_SHIFT | GPIO6_OUTPUT << GPIO6_SHIFT;
+
+ adf_write_reg(PROFILE_GPCON4_7, reg_val);
+
+}
+
+void adf_test_cw_mode(void)
+{
+ uint32_t reg_val;
+
+ // Config GPIO7 to drive PA while tx is on
+ reg_val = adf_read_reg(PROFILE_RADIO_DIG_TX_CFG1);
+ reg_val = (reg_val & ~EXT_PA_PIN_SEL_MASK) | (GPIO7 << EXT_PA_PIN_SEL_SHIFT) | EXT_PA_FRAMING_EN_MASK;
+ adf_write_reg(PROFILE_RADIO_DIG_TX_CFG1, reg_val);
+
+ // Activate test mode
+ reg_val = adf_read_reg(ADDR_GENERIC_PKT_TEST_MODES0);
+ reg_val = (reg_val & ~MASK_TX_TEST) | ((uint32_t) TEST_TX_CARRIER << POS_TX_TEST);
+ adf_write_reg(ADDR_GENERIC_PKT_TEST_MODES0, reg_val);
+
+ uint8_t on = ADF_PHY_ON;
+ uint8_t tx = ADF_PHY_TX;
+
+ SPI_Write(&hspi2, &on, 1);
+
+ HAL_Delay(10);
+
+ SPI_Write(&hspi2, &tx, 1);
+
+}
+
+void adf_test_cw_off(void)
+{
+ uint32_t regVal;
+
+ uint8_t on = ADF_PHY_ON;
+ uint8_t off = ADF_PHY_OFF;
+
+ SPI_Write(&hspi2, &on, 1);
+
+ HAL_Delay(10);
+
+ SPI_Write(&hspi2, &off, 1);
+
+ //unconfig test mode
+ regVal = adf_read_reg(ADDR_GENERIC_PKT_TEST_MODES0);
+ regVal = (regVal & ~MASK_TX_TEST) | ((uint32_t) TEST_DISABLED << POS_TX_TEST);
+ adf_write_reg(ADDR_GENERIC_PKT_TEST_MODES0, regVal);
+}
+
+uint8_t adf_send_confblob() {
+
+ uint32_t array_position = 0;
+
+ uint8_t nb_step = 11;
+ uint8_t cur_step = 0;
+
+ do
+ {
+ // Calculate the number of bytes to write
+ uint32_t length = (*(ar_conf_adf7030 + array_position ) << 16) |
+ (*(ar_conf_adf7030 + array_position + 1) << 8) |
+ (*(ar_conf_adf7030 + array_position + 2));
+
+ if(length > 0xFFFF)
+ {
+ return 0;
+ }
+
+ // Write the SPI data pointed to location (MEMORY_FILE + array_position) with specified length (length)
+ uint8_t * pSeqData = (ar_conf_adf7030 + array_position + 3);
+
+ SPI_Write(&hspi2, pSeqData, length-3);
+
+ // Update the array position to point to the next block
+ array_position += length;
+ cur_step++;
+
+ } while(cur_step < nb_step); //while(array_position < size); // Continue operation until full data file has been written
+
+ return 1;
+}
+
+void config_ADF7030() {
+
+ // Power the UHF rail
+ HAL_GPIO_WritePin(GPIOE, GPIO_PIN_13, 1);
+ HAL_Delay(500);
+
+ // Reset ADF7030
+ HAL_GPIO_WritePin(GPIOE, GPIO_PIN_14, 0);
+ HAL_Delay(500);
+ HAL_GPIO_WritePin(GPIOE, GPIO_PIN_14, 1);
+
+ // Need to wait the MISO signal before starting
+ // Need to add a max retry to avoid being stuck
+ uint8_t started = 0;
+ uint8_t tx = 0xFF;
+
+ do {
+ SPI_ReadWrite(&hspi2, &tx, &started, 1);
+ } while (!started);
+
+ adf_check_ready();
+
+ // Put the ADF7030 in "OFF State" see DS p44
+ uint8_t off = ADF_PHY_OFF;
+ SPI_Write(&hspi2, &off, 1);
+ // Set GPIO
+ adf_conf_pin();
+
+ adf_check_ready();
+
+ // Send configuration file
+ adf_send_confblob();
+
+ adf_check_ready();
+
+ // Issue CMD_CFG_DEV
+ uint8_t conf = ADF_PHY_CONF;
+ SPI_Write(&hspi2, &conf, 1);
+ adf_check_ready();
+
+ // Got back to "OFF State"
+ //HAL_SPI_Transmit(&hspi2, ADF_PHY_OFF, 1, SPI2_TOUT);
+
+}
+
+uint8_t adf_get_status() {
+ uint8_t rx_data[2];
+ uint8_t tx_data[] = { 0xFF, 0xFF }; // Send NOP to get status byte
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET);
+ HAL_Delay(10);
+ HAL_SPI_TransmitReceive(&hspi2, tx_data, rx_data, 2, SPI2_TOUT);
+ HAL_Delay(10);
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
+
+ return (rx_data[1] >> 5) & 0x01;
+}
+
+void adf_tx_data(uint8_t * data, uint8_t dlen) {
+ // Put the ADF7030 in "On State"
+ uint8_t on = ADF_PHY_ON;
+ HAL_SPI_Transmit(&hspi2, &on, 1, SPI2_TOUT);
+
+ // Write Memory
+ // Memory write command
+ // bit 7: CNM = 0 <= Memory command
+ // 6: RNW = 0 <= Write
+ // 5: BNR = 1 <= Burst access auto incrementing
+ // 4: ANP = ? <= Address not pointer
+ // 3: LNS = 0 <= Short data access 8 bit (1 => 32 bit)
+ // [2:0]: MPNTR <= page 19
+
+
+}
diff --git a/STM32Project/Spino_bringup/Core/Src/SI4463.c b/STM32Project/Spino_bringup/Core/Src/SI4463.c
new file mode 100644
index 0000000000000000000000000000000000000000..141ea750a88e74e1571f5478f346a9e4b17e7ff2
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Src/SI4463.c
@@ -0,0 +1,211 @@
+/*
+ * SI4463.c
+ *
+ * Created on: 31 août 2022
+ * Author: nats
+ */
+
+#include "SI4463.h"
+
+extern SPI_HandleTypeDef hspi1;
+
+void radio_comm_SendCmd(SPI_HandleTypeDef * hspi, uint8_t * data, uint16_t len) {
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
+ //HAL_Delay(10);
+ HAL_SPI_Transmit(hspi, data, len, SPI1_TOUT);
+ //HAL_Delay(10);
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
+}
+
+uint8_t radio_comm_GetResp(SPI_HandleTypeDef * hspi, uint8_t * rbuff, uint16_t len) {
+ uint8_t err_cnt = 4;
+ uint8_t zero_buff[len];
+
+ for(uint8_t i = 0; i < len; i++) zero_buff[i] = 0;
+
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
+ //HAL_Delay(10);
+
+ uint8_t cts_cmd[2] = { 0x44, 0x00 };
+ uint8_t ctsbuff[2] = { 0 };
+
+ while(ctsbuff[1] != 0xFF && err_cnt != 0) {
+ HAL_SPI_TransmitReceive(hspi, cts_cmd, ctsbuff, 2, SPI1_TOUT);
+ err_cnt--;
+ }
+
+ if(err_cnt == 0) {
+ return 0;
+ }
+
+ if(len != 0) {
+ HAL_SPI_TransmitReceive(hspi, zero_buff, rbuff, len, SPI1_TOUT);
+ }
+ //HAL_Delay(10);
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
+ return ctsbuff[1];
+}
+
+uint8_t radio_comm_SendCmdGetResp(SPI_HandleTypeDef * hspi, uint8_t * data, uint8_t tx_len, uint8_t * rbuff, uint16_t rx_len) {
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
+ //HAL_Delay(10);
+ HAL_SPI_Transmit(hspi, data, tx_len, SPI1_TOUT);
+ //HAL_Delay(10);
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
+
+ return radio_comm_GetResp(hspi, rbuff, rx_len);
+}
+
+uint8_t si446x_poll_cts() {
+ uint8_t cts_cmd[2] = { 0x44, 0x00 };
+ uint8_t rbuff[2] = { 0 };
+
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
+ //HAL_Delay(10);
+ HAL_SPI_TransmitReceive(&hspi1, cts_cmd, rbuff, 2, SPI1_TOUT);
+ //HAL_Delay(10);
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
+
+ if(rbuff[1] = 0xFF) {
+ return 1;
+ }
+ return 0;
+}
+
+uint8_t config_si4463() {
+ uint16_t dataI = 0;
+ while(cmdArray[dataI] != 0) {
+ uint8_t *dataP = &cmdArray[dataI+1];
+ uint8_t dataLen = cmdArray[dataI];
+
+ if(dataLen > 16) {
+ return SI446X_COMMAND_ERROR;
+ }
+
+ if(radio_comm_SendCmdGetResp(&hspi1, dataP, dataLen, 0, 0) != 0xFF) {
+ return SI446X_CTS_TIMEOUT;
+ }
+ dataI += dataLen+1;
+ }
+ return SI446X_SUCCESS;
+}
+
+void si446x_power_up(uint8_t BOOT_OPTIONS, uint8_t XTAL_OPTIONS, uint32_t XO_FREQ)
+{
+ uint8_t Pro2Cmd[7];
+
+ Pro2Cmd[0] = SI446X_CMD_ID_POWER_UP;
+ Pro2Cmd[1] = BOOT_OPTIONS;
+ Pro2Cmd[2] = XTAL_OPTIONS;
+ Pro2Cmd[3] = (uint8_t)(XO_FREQ >> 24);
+ Pro2Cmd[4] = (uint8_t)(XO_FREQ >> 16);
+ Pro2Cmd[5] = (uint8_t)(XO_FREQ >> 8);
+ Pro2Cmd[6] = (uint8_t)(XO_FREQ);
+
+ radio_comm_SendCmd(&hspi1, Pro2Cmd, SI446X_CMD_ARG_COUNT_POWER_UP);
+}
+
+uint8_t si446x_part_info(void)
+{
+ uint8_t Pro2Cmd[8];
+
+ Pro2Cmd[0] = SI446X_CMD_ID_PART_INFO;
+ Pro2Cmd[1] = 0;
+ Pro2Cmd[2] = 0;
+ Pro2Cmd[3] = 0;
+ Pro2Cmd[4] = 0;
+ Pro2Cmd[5] = 0;
+ Pro2Cmd[6] = 0;
+ Pro2Cmd[6] = 0;
+
+ radio_comm_SendCmdGetResp(&hspi1, Pro2Cmd, SI446X_CMD_ARG_COUNT_PART_INFO,
+ Pro2Cmd,
+ SI446X_CMD_REPLY_COUNT_PART_INFO);
+
+ return Pro2Cmd[0];
+}
+
+void si446x_get_int_status(uint8_t PH_CLR_PEND, uint8_t MODEM_CLR_PEND, uint8_t CHIP_CLR_PEND)
+{
+ uint8_t Pro2Cmd[8];
+
+ Pro2Cmd[0] = SI446X_CMD_ID_GET_INT_STATUS;
+ Pro2Cmd[1] = PH_CLR_PEND;
+ Pro2Cmd[2] = MODEM_CLR_PEND;
+ Pro2Cmd[3] = CHIP_CLR_PEND;
+ Pro2Cmd[4] = 0;
+ Pro2Cmd[5] = 0;
+ Pro2Cmd[6] = 0;
+ Pro2Cmd[6] = 0;
+
+ radio_comm_SendCmdGetResp(&hspi1, Pro2Cmd, SI446X_CMD_ARG_COUNT_GET_INT_STATUS,
+ Pro2Cmd, SI446X_CMD_REPLY_COUNT_GET_INT_STATUS);
+
+ /*Si446xCmd.GET_INT_STATUS.INT_PEND = Pro2Cmd[0];
+ Si446xCmd.GET_INT_STATUS.INT_STATUS = Pro2Cmd[1];
+ Si446xCmd.GET_INT_STATUS.PH_PEND = Pro2Cmd[2];
+ Si446xCmd.GET_INT_STATUS.PH_STATUS = Pro2Cmd[3];
+ Si446xCmd.GET_INT_STATUS.MODEM_PEND = Pro2Cmd[4];
+ Si446xCmd.GET_INT_STATUS.MODEM_STATUS = Pro2Cmd[5];
+ Si446xCmd.GET_INT_STATUS.CHIP_PEND = Pro2Cmd[6];
+ Si446xCmd.GET_INT_STATUS.CHIP_STATUS = Pro2Cmd[7];*/
+}
+
+void si446x_gpio_pin_cfg(U8 GPIO0, U8 GPIO1, U8 GPIO2, U8 GPIO3, U8 NIRQ, U8 SDO, U8 GEN_CONFIG)
+{
+ uint8_t Pro2Cmd[8];
+ Pro2Cmd[0] = SI446X_CMD_ID_GPIO_PIN_CFG;
+ Pro2Cmd[1] = GPIO0;
+ Pro2Cmd[2] = GPIO1;
+ Pro2Cmd[3] = GPIO2;
+ Pro2Cmd[4] = GPIO3;
+ Pro2Cmd[5] = NIRQ;
+ Pro2Cmd[6] = SDO;
+ Pro2Cmd[7] = GEN_CONFIG;
+
+ radio_comm_SendCmdGetResp(&hspi1, Pro2Cmd, SI446X_CMD_ARG_COUNT_GPIO_PIN_CFG,
+ Pro2Cmd, SI446X_CMD_REPLY_COUNT_GPIO_PIN_CFG );
+
+ /*Si446xCmd.GPIO_PIN_CFG.GPIO[0] = Pro2Cmd[0];
+ Si446xCmd.GPIO_PIN_CFG.GPIO[1] = Pro2Cmd[1];
+ Si446xCmd.GPIO_PIN_CFG.GPIO[2] = Pro2Cmd[2];
+ Si446xCmd.GPIO_PIN_CFG.GPIO[3] = Pro2Cmd[3];
+ Si446xCmd.GPIO_PIN_CFG.NIRQ = Pro2Cmd[4];
+ Si446xCmd.GPIO_PIN_CFG.SDO = Pro2Cmd[5];
+ Si446xCmd.GPIO_PIN_CFG.GEN_CONFIG = Pro2Cmd[6];*/
+}
+
+void si446x_start_rx(U8 CHANNEL, U8 CONDITION, U16 RX_LEN, U8 NEXT_STATE1, U8 NEXT_STATE2, U8 NEXT_STATE3)
+{
+ uint8_t Pro2Cmd[8];
+ Pro2Cmd[0] = SI446X_CMD_ID_START_RX;
+ Pro2Cmd[1] = CHANNEL;
+ Pro2Cmd[2] = CONDITION;
+ Pro2Cmd[3] = (U8)(RX_LEN >> 8);
+ Pro2Cmd[4] = (U8)(RX_LEN);
+ Pro2Cmd[5] = NEXT_STATE1;
+ Pro2Cmd[6] = NEXT_STATE2;
+ Pro2Cmd[7] = NEXT_STATE3;
+
+ radio_comm_SendCmd(&hspi1, Pro2Cmd, SI446X_CMD_ARG_COUNT_START_RX);
+}
+
+void reset_si4463() {
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, 1);
+ HAL_Delay(100);
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, 0);
+}
+
+void power_vhf(uint8_t b) {
+ if(b) {
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, 1);
+ HAL_Delay(500);
+ } else {
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, 0);
+ HAL_Delay(500);
+ }
+}
+
+void init_rx_irq() {
+ // TODO
+}
diff --git a/STM32Project/Spino_bringup/Core/Src/first_conf_200bytes.cfg b/STM32Project/Spino_bringup/Core/Src/first_conf_200bytes.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..f1a26871cf9783a5fa5f84541d94c24b6acb3852
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Src/first_conf_200bytes.cfg
@@ -0,0 +1,294 @@
+/*
+*****************************************************************************
+** first_conf_200bytes.cfg source file generated on July 20, 2022 at 15:04:10
+**
+** Copyright (C) 2015-2022 Analog Devices Inc., All Rights Reserved.
+**
+** This file was generated automatically based upon parameters passed to the ADF703x
+** Calculator Library version 1.1.0.3 (Feb 8 2019).
+**
+** For descriptions of each parameter, please refer to ADF703x Calculator Library Help.
+**
+** CHANNEL_FREQUENCY 435200000
+** DATA_RATE 1200.00
+** FREQUENCY_DEVIATION 600.00
+** MAX_FREQUENCY_ERROR_PPM 30.00
+** RX_EXCESS_BW 0.00
+** PA_RAMP_RATE 0
+** PA_SEL_PA1_NOT_PA2 0
+** PA_POWER_DBM 0.00
+** MODULATION_SCHEME_TRX_MOD_TYPE 0
+** MODULATION_SCHEME_TX_FILTER_ENABLE 1
+** MODULATION_SCHEME_TX_GAUSSIAN_BT 0
+** MODULATION_SCHEME_4FSK_MAPPING 0
+** CCA_DETECTION_TIME_US 128.00
+** CCA_THRESHOLD_DBM -80.00
+** PREAMBLE_LENGTH 16
+** PREAMBLE_UNIT 1
+** PREAMBLE_VAL 85
+** SFD_SYNC1_LEN 0
+** SFD_SYNC1_ERR 0
+** SFD_SYNC0_LEN 16
+** SFD_SYNC0_ERR 0
+** SFD_WORD0_VAL 13429
+** SFD_WORD1_VAL 0
+** PAYLOAD_BIT2AIR 0
+** PAYLOAD_FEC_802D15D4_ENABLE 0
+** PAYLOAD_MANCHESTER_ENCODING 0
+** PAYLOAD_4FSK_MAPPING 0
+** PAYLOAD_SIZE_PAYLOAD_SIZE 200
+** PAYLOAD_SIZE_RX_LENGTH 0
+** PAYLOAD_SIZE_LEN_SEL 0
+** PAYLOAD_SIZE_RX_PACKET_LENGTH_MODE 1
+** PAYLOAD_SIZE_TX_PACKET_PAYLOAD_ONLY 0
+** PAYLOAD_SIZE_ROLLING_BUFF_EN 0
+** CRC_CRC_LEN 16
+** CRC_CRC_TYPE 3
+** CRC_CRC_SHIFT_IN_ZEROS 1
+** CRC_CRC_REFLECT_IN 0
+** CRC_CRC_REFLECT_OUTPUT_CRC 0
+** CRC_SEED_VAL 0
+** CRC_POLY_VAL 15717
+** CRC_FINAL_XOR_VAL 65535
+** PHY_MAC_SETTINGS_TURNAROUND_RX 0
+** PHY_MAC_SETTINGS_TURNAROUND_TX 0
+** PHY_MAC_SETTINGS_CONTINUOUS_RX 0
+** PHY_MAC_SETTINGS_CONTINUOUS_TX 0
+** PHY_MAC_SETTINGS_TYPE_FRAME 0
+** PHY_PHR_FRAME_LENGTH 0
+** PHY_PHR_DATA_WHITENING 0
+** PHY_PHR_FRAME_CHECK_SEQUENCE_SIZE 0
+** RADIO_MODES_COMBINED_TRX_MATCH 0
+** REF_CLK_CFG_CLK_TYPE 0
+** RADIO_DIG_TX_CFG1_EXT_PA_OOK_BIT_FRAMING_EN 0
+** RADIO_DIG_TX_CFG1_EXT_PA_FRAMING_EN 0
+** RADIO_DIG_TX_CFG1_EXT_PA_PIN_SEL 0
+** RADIO_DIG_TX_CFG1_EXT_PA_GUARD_TIME 0
+** RADIO_DIG_TX_CFG1_EXT_LNA_FRAMING_EN 0
+** RADIO_DIG_TX_CFG1_EXT_LNA_PIN_SEL 0
+** RADIO_DIG_TX_CFG1_EXT_LNA_GUARD_TIME 0
+** MISC0_SM_IRQ0_TYPE 0
+** MISC0_SM_IRQ1_TYPE 0
+** GPCON0_3_PIN0_CFG 0
+** GPCON0_3_PIN1_CFG 0
+** GPCON0_3_PIN2_CFG 0
+** GPCON0_3_PIN3_CFG 0
+** GPCON4_7_PIN4_CFG 0
+** GPCON4_7_PIN5_CFG 0
+** GPCON4_7_PIN6_CFG 0
+** GPCON4_7_PIN7_CFG 0
+** PACKAGE 0
+** LPM_CFG0_RTC_TRMVAL 0
+** LPM_CFG0_RTC_TRMADD 0
+** LPM_CFG0_RTC_TRMLVL 0
+** LPM_CFG0_RTC_TRMIVL2EXPMIN 0
+** LPM_CFG0_RTC_EN 0
+** LPM_CFG0_RTC_TRMEN 0
+** LPM_CFG0_RTC_RESYNC 0
+** LPM_CFG0_RTC_RECONFIG_EN 0
+** LPM_CFG0_RTC_ONESHOT 0
+** LPM_CFG0_RTC_LF_SRC_SEL 0
+** LPM_CFG0_RETAIN_SRAM 0
+** LPM_CFG0_RETAIN_GPIO 0
+** LPM_CFG0_SEQUENCER_EN 0
+** LPM_CFG0_SCRIPT_SEL 0
+** LPM_CFG0_BYPASS_CRC 0
+** LPM_CFG0_ENABLE 0
+** LPM_CFG1_RTC_PERIOD 0
+** FRAME_CFG4_BACKOFF_DWELL_TIME 0
+** LPM_CFG2_RX_RETURN 0
+** LPM_CFG2_PREAMBLE_DWELL_TIME 0
+** LPM_CFG2_AFC_DWELL_TIME 0
+** LPM_CFG2_RSSI_DWELL_TIME 0
+** RADIO_CAL_CFG0_ANAFILT_RC_CAL_ENABLE 1
+** RADIO_CAL_CFG0_ADC_NOTCH_CAL_ENABLE 0
+** RADIO_CAL_CFG0_ANA_QEC_CAL_ENABLE 0
+** RADIO_CAL_CFG0_ANCPLL_CAL_ENABLE 1
+** RADIO_CAL_CFG0_LF_RC_CAL_ENABLE 0
+** RADIO_CAL_CFG0_HF_RC_CAL_ENABLE 0
+** RADIO_CAL_CFG0_VCO_CAL_ENABLE 0
+** RADIO_CAL_CFG0_VCO_KV_CAL_ENABLE 1
+** RADIO_CAL_CFG0_HF_XTAL 0
+** RADIO_CAL_CFG0_OCL_CAL_ENABLE 0
+** RADIO_CAL_CFG0_INLINE_OCL_CAL_ENABLE 0
+** RADIO_CAL_CFG1_CAL_RCM_CTRL 0
+** RADIO_CAL_CFG1_CAL_RLOAD_CTRL 0
+** RADIO_CAL_CFG1_ADC_NOTCH_SAMPLE_CNT 0
+** RADIO_CAL_CFG1_CALGAIN 0
+** RADIO_CAL_CFG1_RASTER_STEP 0
+** RADIO_CAL_CFG1_IR_CAL_DEBUG 0
+** RADIO_CAL_CFG1_QEC_UPDATE_MODE 0
+** RADIO_CAL_CFG1_QEC_EN 0
+** RADIO_CAL_CFG1_BOUNDARY_SEARCH 0
+** RADIO_CAL_CFG1_PUTTER 0
+** RADIO_CAL_CFG1_RECENTER_PUTTER 0
+** RADIO_CAL_CFG1_QEC_CAL_START 0
+** RADIO_CAL_CFG1_IR_CAL_SOURCE 0
+** RADIO_CAL_CFG1_ANC_PLL_LEVEL 0
+** RADIO_CAL_CFG1_ALGORITHM 0
+** RADIO_CAL_CFG1_CAL_SUCCESS 0
+** RADIO_CAL_CFG1_EXT_OFFSET 0
+** RADIO_CAL_CFG1_RSSI_METHOD 0
+** RSSI_CFG_WB_OFFSET 362.00
+** RSSI_CFG_NB_OFFSET 656.00
+** MONITOR0_TEMP_SCALING_CORR 0
+** MONITOR0_TEMP_OFFSET_CORR 0
+** MONITOR0_TEMP_DO_AS_PART_OF_CAL 0
+** MONITOR1_TEMP_OUTPUT 0
+** MONITOR1_TEMP_SAMPLE_CNT 0
+** RADIO_CAL_RESULTS0_VAL 0
+** RADIO_CAL_RESULTS1_VAL 0
+** RADIO_CAL_RESULTS2_VAL 31195136
+** RADIO_CAL_RESULTS3_VAL 0
+** RADIO_CAL_RESULTS4_VAL 0
+** RADIO_CAL_RESULTS5_VAL 0
+** RADIO_CAL_RESULTS6_VAL 0
+** RADIO_CAL_RESULTS7_VAL 0
+** RADIO_CAL_RESULTS8_VAL 0
+** VCO_CAL_RESULTS0_VAL 0
+** VCO_CAL_RESULTS1_VAL 0
+** VCO_CAL_RESULTS2_VAL 0
+** VCO_CAL_RESULTS3_VAL 0
+** VCO_CAL_RESULTS4_VAL 0
+** VCO_CAL_RESULTS5_VAL 0
+** VCO_CAL_RESULTS6_VAL 0
+** VCO_CAL_RESULTS7_VAL 0
+** RADIO_MODES_AFC_ACQUIRE_KI 0
+** RADIO_MODES_AFC_ACQUIRE_KP 0
+** RADIO_MODES_USER_IS_MASTER_OF_AFC_KI_KP 0
+** RADIO_MODES_AGC_OPER 0
+** RADIO_MODES_AFC_OPER 0
+** RADIO_MODES_USER_IS_MASTER_OF_AFC_OPER 0
+** RADIO_MODES_USER_IS_MASTER_OF_AGC_OPER 0
+** TICK_CFG_SEARCH_RATE 0
+** TICK_CFG_SEARCH_POSTSCALAR 0
+** TICK_CFG_PAYLOAD_RATE 0
+** TICK_CFG_PAYLOAD_POSTSCALAR 0
+** SEARCH_DETECT_AFC_THRESHOLD 0
+** SEARCH_DETECT_RSSI_THRESHOLD 0
+** SEARCH_DETECT_USER_IS_MASTER_OF_DETECT 0
+** SEARCH_DETECT_PREAMBLE_LEN 0
+** SEARCH_QUAL_AFC_THRESHOLD 0
+** SEARCH_QUAL_RSSI_THRESHOLD 0
+** SEARCH_QUAL_USER_IS_MASTER_OF_QUAL 0
+** SEARCH_QUAL_PREAMBLE_LEN 0
+** RADIO_DIG_TX_CFG0_USER_IS_MASTER_OF_PA 0
+** RADIO_DIG_TX_CFG0_PAOLDO_VOUT_CON 0
+** RADIO_DIG_TX_CFG0_PA_COARSE 0
+** RADIO_DIG_TX_CFG0_PA_FINE 0
+** RADIO_DIG_TX_CFG0_PA_MICRO 0
+** RADIO_DIG_TX_CFG0_PA_SEL 0
+** BUFF_CFG0_PTR_RX_BASE 0
+** BUFF_CFG0_PTR_TX_BASE 0
+** TEST_MODES0_PER_EN 0
+** TEST_MODES0_PER_IRQ_SELF_CLEAR 0
+** TEST_MODES0_TX_TEST 0
+** TEST_MODES1_PACKET_CNT 0
+** TEST_MODES1_CURRENT_CNT 0
+**
+*/
+
+/* @200002E4 */
+0x00, 0x01, 0x10, 0x38, 0x20, 0x00, 0x02, 0xE4,
+0x00, 0x3C, 0x78, 0x6E, 0x11, 0x8C, 0xBA, 0x80,
+0x19, 0xF0, 0xA0, 0x00, 0x00, 0x01, 0x3D, 0x62,
+0x00, 0x00, 0x04, 0xF4, 0x12, 0x00, 0x00, 0x05,
+0x64, 0x00, 0x00, 0x0C, 0x81, 0x2A, 0x28, 0xB4,
+0x88, 0x38, 0x28, 0x72, 0x00, 0x00, 0x00, 0x06,
+0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x04, 0x30,
+0x5E, 0x02, 0x24, 0x80, 0x0F, 0x02, 0x0F, 0x14,
+0x00, 0x05, 0x02, 0x10, 0x31, 0xE8, 0x00, 0x02,
+0xDC, 0xE7, 0x83, 0xC0, 0x00, 0x40, 0x04, 0x04,
+0xC8, 0x14, 0x28, 0x6E, 0x08, 0x00, 0x07, 0x00,
+0xC0, 0x20, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x8A, 0x28, 0xCA, 0x28, 0x01, 0x00, 0x30,
+0x07, 0x00, 0x10, 0x9C, 0xFC, 0xC0, 0x64, 0x0A,
+0x00, 0x05, 0x90, 0xC8, 0x34, 0x38, 0x3C, 0x59,
+0x7C, 0x03, 0x01, 0x10, 0x04, 0x33, 0xC8, 0x76,
+0x40, 0x2F, 0xD3, 0x0A, 0x80, 0x99, 0xA0, 0x02,
+0x20, 0x00, 0x06, 0x0C, 0x00, 0x04, 0x04, 0x01,
+0x08, 0x14, 0x35, 0x0B, 0x00, 0x10, 0x00, 0x10,
+0x02, 0x90, 0x01, 0x6A, 0x06, 0xC0, 0x00, 0x43,
+0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0A, 0xE0, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0xDC, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00,
+/* 0x2000060C */
+0x00, 0x00, 0x20, 0x38, 0x20, 0x00, 0x06, 0x0C,
+0x36, 0x7C, 0x03, 0x00, 0x00, 0x01, 0x00, 0x27,
+0x69, 0x02, 0x6A, 0x94, 0x69, 0x00, 0xC0, 0x94,
+0x69, 0x00, 0xA5, 0x94, 0x69, 0x00, 0xA8, 0x94,
+/* 0x20000624 */
+0x00, 0x00, 0x20, 0x38, 0x20, 0x00, 0x06, 0x24,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+/* 0x2000063C */
+0x00, 0x00, 0x20, 0x38, 0x20, 0x00, 0x06, 0x3C,
+0x12, 0x0C, 0x01, 0x00, 0x00, 0x01, 0x00, 0xA1,
+0xB2, 0x81, 0xA0, 0xDB, 0xB2, 0x81, 0xA0, 0xDB,
+0xB2, 0x80, 0xE1, 0xDB, 0xB2, 0x00, 0xE6, 0xDB,
+/* 0x200006B4 */
+0x00, 0x00, 0x28, 0x38, 0x20, 0x00, 0x06, 0xB4,
+0x3F, 0x3B, 0x7F, 0x23, 0x3D, 0xCB, 0x7D, 0xB3,
+0x3C, 0x98, 0x7C, 0x80, 0x3B, 0xBD, 0x7B, 0xA5,
+0x3B, 0x4B, 0x7B, 0x33, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+/* 0x200006D4 */
+0x00, 0x00, 0x28, 0x38, 0x20, 0x00, 0x06, 0xD4,
+0x33, 0xDB, 0x72, 0x93, 0x31, 0x10, 0x6F, 0xD0,
+0x2F, 0xA6, 0x6E, 0x6A, 0x37, 0xED, 0x76, 0x9A,
+0x3D, 0x19, 0x7B, 0xB7, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+/* 0x20000794 */
+0x00, 0x00, 0x1C, 0x38, 0x20, 0x00, 0x07, 0x94,
+0x00, 0x00, 0x01, 0x24, 0x2B, 0xA3, 0x39, 0xDC,
+0x48, 0x72, 0x41, 0x8A, 0x00, 0x00, 0x13, 0xD5,
+0x00, 0x00, 0x00, 0x00,
+/* 0x200007A8 */
+0x00, 0x00, 0x1C, 0x38, 0x20, 0x00, 0x07, 0xA8,
+0x00, 0x00, 0x01, 0x2E, 0x13, 0xFF, 0x4E, 0x0D,
+0x15, 0x35, 0x13, 0xBF, 0x00, 0x00, 0x05, 0x74,
+0x00, 0x00, 0x00, 0x00,
+/* 0x20000864 */
+0x00, 0x00, 0x24, 0x38, 0x20, 0x00, 0x08, 0x64,
+0x46, 0x00, 0x29, 0x00, 0x4A, 0x00, 0x63, 0x7C,
+0x00, 0x00, 0x16, 0x30, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+/* 0x200004F4 */
+0x00, 0x00, 0x74, 0x38, 0x20, 0x00, 0x04, 0xF4,
+0x00, 0x15, 0xE3, 0x06, 0x04, 0x01, 0x00, 0x80,
+0xD0, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0xC8,
+0x00, 0x55, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00,
+0x00, 0x00, 0x34, 0x75, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x3D, 0x65, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0xF1, 0x02, 0xF0, 0x00, 0x00, 0xA0,
+0x10, 0x00, 0x01, 0xE4, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x44, 0x37, 0x43, 0x31,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+/* 0x200000C0 */
+0x00, 0x00, 0x0C, 0x38, 0x20, 0x00, 0x00, 0xC0,
+0x24, 0x03, 0x60, 0xD0, 0x00, 0x00, 0x18, 0x38,
+0x40, 0x00, 0x3E, 0x04, 0x00, 0x00, 0x00, 0xC0,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x3A, 0x9D, 0x00, 0x00, 0x18, 0x38,
+0x20, 0x00, 0x0A, 0xE0, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x3A, 0x9D,
+0x3E, 0x10, 0x3E, 0x04, 0x00, 0x00, 0x0C, 0x38,
+0x40, 0x00, 0x42, 0xA4, 0x00, 0x00, 0x00, 0x00
\ No newline at end of file
diff --git a/STM32Project/Spino_bringup/Core/Src/first_conf_200bytes.dat b/STM32Project/Spino_bringup/Core/Src/first_conf_200bytes.dat
new file mode 100644
index 0000000000000000000000000000000000000000..d1a19f70d71fd2d881c3ba349f5ace0b9fa65b22
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Src/first_conf_200bytes.dat
@@ -0,0 +1,104 @@
+/* @200002E4 */
+0x00, 0x01, 0x10, 0x38, 0x20, 0x00, 0x02, 0xE4,
+0x00, 0x3C, 0x78, 0x6E, 0x11, 0x8C, 0xBA, 0x80,
+0x19, 0xF0, 0xA0, 0x00, 0x00, 0x01, 0x3D, 0x62,
+0x00, 0x00, 0x04, 0xF4, 0x12, 0x00, 0x00, 0x05,
+0x64, 0x00, 0x00, 0x0C, 0x81, 0x2A, 0x28, 0xB4,
+0x88, 0x38, 0x28, 0x72, 0x00, 0x00, 0x00, 0x06,
+0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x04, 0x30,
+0x5E, 0x02, 0x24, 0x80, 0x0F, 0x02, 0x0F, 0x14,
+0x00, 0x05, 0x02, 0x10, 0x31, 0xE8, 0x00, 0x02,
+0xDC, 0xE7, 0x83, 0xC0, 0x00, 0x40, 0x04, 0x04,
+0xC8, 0x14, 0x28, 0x6E, 0x08, 0x00, 0x07, 0x00,
+0xC0, 0x20, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x8A, 0x28, 0xCA, 0x28, 0x01, 0x00, 0x30,
+0x07, 0x00, 0x10, 0x9C, 0xFC, 0xC0, 0x64, 0x0A,
+0x00, 0x05, 0x90, 0xC8, 0x34, 0x38, 0x3C, 0x59,
+0x7C, 0x03, 0x01, 0x10, 0x04, 0x33, 0xC8, 0x76,
+0x40, 0x2F, 0xD3, 0x0A, 0x80, 0x99, 0xA0, 0x02,
+0x20, 0x00, 0x06, 0x0C, 0x00, 0x04, 0x04, 0x01,
+0x08, 0x14, 0x35, 0x0B, 0x00, 0x10, 0x00, 0x10,
+0x02, 0x90, 0x01, 0x6A, 0x06, 0xC0, 0x00, 0x43,
+0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0A, 0xE0, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0xDC, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00,
+/* 0x2000060C */
+0x00, 0x00, 0x20, 0x38, 0x20, 0x00, 0x06, 0x0C,
+0x36, 0x7C, 0x03, 0x00, 0x00, 0x01, 0x00, 0x27,
+0x69, 0x02, 0x6A, 0x94, 0x69, 0x00, 0xC0, 0x94,
+0x69, 0x00, 0xA5, 0x94, 0x69, 0x00, 0xA8, 0x94,
+/* 0x20000624 */
+0x00, 0x00, 0x20, 0x38, 0x20, 0x00, 0x06, 0x24,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+/* 0x2000063C */
+0x00, 0x00, 0x20, 0x38, 0x20, 0x00, 0x06, 0x3C,
+0x12, 0x0C, 0x01, 0x00, 0x00, 0x01, 0x00, 0xA1,
+0xB2, 0x81, 0xA0, 0xDB, 0xB2, 0x81, 0xA0, 0xDB,
+0xB2, 0x80, 0xE1, 0xDB, 0xB2, 0x00, 0xE6, 0xDB,
+/* 0x200006B4 */
+0x00, 0x00, 0x28, 0x38, 0x20, 0x00, 0x06, 0xB4,
+0x3F, 0x3B, 0x7F, 0x23, 0x3D, 0xCB, 0x7D, 0xB3,
+0x3C, 0x98, 0x7C, 0x80, 0x3B, 0xBD, 0x7B, 0xA5,
+0x3B, 0x4B, 0x7B, 0x33, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+/* 0x200006D4 */
+0x00, 0x00, 0x28, 0x38, 0x20, 0x00, 0x06, 0xD4,
+0x33, 0xDB, 0x72, 0x93, 0x31, 0x10, 0x6F, 0xD0,
+0x2F, 0xA6, 0x6E, 0x6A, 0x37, 0xED, 0x76, 0x9A,
+0x3D, 0x19, 0x7B, 0xB7, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+/* 0x20000794 */
+0x00, 0x00, 0x1C, 0x38, 0x20, 0x00, 0x07, 0x94,
+0x00, 0x00, 0x01, 0x24, 0x2B, 0xA3, 0x39, 0xDC,
+0x48, 0x72, 0x41, 0x8A, 0x00, 0x00, 0x13, 0xD5,
+0x00, 0x00, 0x00, 0x00,
+/* 0x200007A8 */
+0x00, 0x00, 0x1C, 0x38, 0x20, 0x00, 0x07, 0xA8,
+0x00, 0x00, 0x01, 0x2E, 0x13, 0xFF, 0x4E, 0x0D,
+0x15, 0x35, 0x13, 0xBF, 0x00, 0x00, 0x05, 0x74,
+0x00, 0x00, 0x00, 0x00,
+/* 0x20000864 */
+0x00, 0x00, 0x24, 0x38, 0x20, 0x00, 0x08, 0x64,
+0x46, 0x00, 0x29, 0x00, 0x4A, 0x00, 0x63, 0x7C,
+0x00, 0x00, 0x16, 0x30, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+/* 0x200004F4 */
+0x00, 0x00, 0x74, 0x38, 0x20, 0x00, 0x04, 0xF4,
+0x00, 0x15, 0xE3, 0x06, 0x04, 0x01, 0x00, 0x80,
+0xD0, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0xC8,
+0x00, 0x55, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00,
+0x00, 0x00, 0x34, 0x75, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x3D, 0x65, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0xF1, 0x02, 0xF0, 0x00, 0x00, 0xA0,
+0x10, 0x00, 0x01, 0xE4, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x44, 0x37, 0x43, 0x31,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+/* 0x200000C0 */
+0x00, 0x00, 0x0C, 0x38, 0x20, 0x00, 0x00, 0xC0,
+0x24, 0x03, 0x60, 0xD0, 0x00, 0x00, 0x18, 0x38,
+0x40, 0x00, 0x3E, 0x04, 0x00, 0x00, 0x00, 0xC0,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x3A, 0x9D, 0x00, 0x00, 0x18, 0x38,
+0x20, 0x00, 0x0A, 0xE0, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x3A, 0x9D,
+0x3E, 0x10, 0x3E, 0x04, 0x00, 0x00, 0x0C, 0x38,
+0x40, 0x00, 0x42, 0xA4, 0x00, 0x00, 0x00, 0x00
\ No newline at end of file
diff --git a/STM32Project/Spino_bringup/Core/Src/main.c b/STM32Project/Spino_bringup/Core/Src/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..b440bfcc7009f1193c95d313f52ff390a204f30f
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Src/main.c
@@ -0,0 +1,622 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.c
+ * @brief : Main program body
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2022 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "SI4463.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+I2C_HandleTypeDef hi2c1;
+I2C_HandleTypeDef hi2c4;
+
+SPI_HandleTypeDef hspi1;
+SPI_HandleTypeDef hspi2;
+
+UART_HandleTypeDef huart1;
+
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+void SystemClock_Config(void);
+static void MX_GPIO_Init(void);
+static void MX_I2C1_Init(void);
+static void MX_I2C4_Init(void);
+static void MX_SPI1_Init(void);
+static void MX_SPI2_Init(void);
+static void MX_USART1_UART_Init(void);
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/**
+ * @brief The application entry point.
+ * @retval int
+ */
+int main(void)
+{
+ /* USER CODE BEGIN 1 */
+
+ /* USER CODE END 1 */
+
+ /* MCU Configuration--------------------------------------------------------*/
+
+ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
+ HAL_Init();
+
+ /* USER CODE BEGIN Init */
+
+ /* USER CODE END Init */
+
+ /* Configure the system clock */
+ SystemClock_Config();
+
+ /* USER CODE BEGIN SysInit */
+
+ /* USER CODE END SysInit */
+
+ /* Initialize all configured peripherals */
+ MX_GPIO_Init();
+ MX_I2C1_Init();
+ //MX_I2C4_Init();
+ MX_SPI1_Init();
+ MX_SPI2_Init();
+ MX_USART1_UART_Init();
+ /* USER CODE BEGIN 2 */
+
+ /* Init ADF7030 with blocking SPI *
+ * *
+ */
+
+ uint8_t i2ci_lstat = HAL_I2C_EnableListen_IT(&hi2c1);
+
+ config_ADF7030();
+
+ //adf_test_cw_mode();
+ HAL_Delay(10); // Break here to debug RF power
+ //adf_test_cw_off();
+
+ /* Init SI4461 with blocking
+ *
+ */
+ power_vhf(1);
+ reset_si4463();
+ HAL_Delay(20);
+
+ uint8_t conf_stat = config_si4463();
+
+ uint8_t chiprev = si446x_part_info();
+
+ si446x_get_int_status(0, 0, 0);
+
+ init_rx_irq();
+ si446x_start_rx(0, 0, 20,
+ SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_RX,
+ SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_ENUM_RX,
+ SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_ENUM_RX );
+
+ /* USER CODE END 2 */
+
+ /* Infinite loop */
+ /* USER CODE BEGIN WHILE */
+ uint8_t ReArm_I2C = 0;
+
+ while (1)
+ {
+ /* USER CODE END WHILE */
+
+ /* USER CODE BEGIN 3 */
+ if(CSKB_I2C_TX_Complete || CSKB_I2C_RX_Complete) {
+ ReArm_I2C = 1;
+ if(CSKB_I2C_TX_Complete) {
+ // Do something here
+ CSKB_I2C_TX_Complete = 0;
+ } else {
+ // Use your data here
+
+ // Dummy Example
+ for(uint8_t i = 0; i < CSKB_I2C_RX_Size; i++) {
+ CSKB_I2C_TX_BUFFER[i] = CSKB_I2C_RX_BUFFER[i];
+ }
+
+ // Use CSKB_I2C_NXT_FrameSize if you want the slave to stop transmission after byte count
+ // Set to zero if you want the slave to continue answering up to I2C_BUFFER_SIZE
+ CSKB_I2C_NXT_FrameSize = CSKB_I2C_RX_Size;
+
+ CSKB_I2C_RX_Complete = 0;
+ }
+
+ }
+ if(ReArm_I2C && HAL_I2C_GetState(&hi2c1) == HAL_I2C_STATE_READY) {
+ ReArm_I2C = 0;
+ i2ci_lstat = HAL_I2C_EnableListen_IT(&hi2c1);
+ }
+ }
+ /* USER CODE END 3 */
+}
+
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void)
+{
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+
+ /** Configure the main internal regulator output voltage
+ */
+ if (HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Initializes the RCC Oscillators according to the specified parameters
+ * in the RCC_OscInitTypeDef structure.
+ */
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
+ RCC_OscInitStruct.HSEState = RCC_HSE_ON;
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
+ RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
+ RCC_OscInitStruct.PLL.PLLM = 1;
+ RCC_OscInitStruct.PLL.PLLN = 8;
+ RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV7;
+ RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
+ RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Initializes the CPU, AHB and APB buses clocks
+ */
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
+ |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
+ RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+ RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
+
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
+ {
+ Error_Handler();
+ }
+}
+
+/**
+ * @brief I2C1 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_I2C1_Init(void)
+{
+
+ /* USER CODE BEGIN I2C1_Init 0 */
+
+ /* USER CODE END I2C1_Init 0 */
+
+ /* USER CODE BEGIN I2C1_Init 1 */
+
+ /* USER CODE END I2C1_Init 1 */
+ hi2c1.Instance = I2C1;
+ hi2c1.Init.Timing = 0x00707CBB;
+ hi2c1.Init.OwnAddress1 = 0x72 << 1;
+ hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
+ hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
+ hi2c1.Init.OwnAddress2 = 0;
+ hi2c1.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
+ hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
+ hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_ENABLE;
+ if (HAL_I2C_Init(&hi2c1) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Configure Analogue filter
+ */
+ /*if (HAL_I2CEx_ConfigAnalogFilter(&hi2c1, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
+ {
+ Error_Handler();
+ }*/
+
+ /** Configure Digital filter
+ */
+ /*if (HAL_I2CEx_ConfigDigitalFilter(&hi2c1, 0) != HAL_OK)
+ {
+ Error_Handler();
+ }*/
+ /* USER CODE BEGIN I2C1_Init 2 */
+
+ /* USER CODE END I2C1_Init 2 */
+
+}
+
+/**
+ * @brief I2C4 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_I2C4_Init(void)
+{
+
+ /* USER CODE BEGIN I2C4_Init 0 */
+
+ /* USER CODE END I2C4_Init 0 */
+
+ /* USER CODE BEGIN I2C4_Init 1 */
+
+ /* USER CODE END I2C4_Init 1 */
+ hi2c4.Instance = I2C4;
+ hi2c4.Init.Timing = 0x00707CBB;
+ hi2c4.Init.OwnAddress1 = 0;
+ hi2c4.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
+ hi2c4.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
+ hi2c4.Init.OwnAddress2 = 0;
+ hi2c4.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
+ hi2c4.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
+ hi2c4.Init.NoStretchMode = I2C_NOSTRETCH_ENABLE;
+ if (HAL_I2C_Init(&hi2c4) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Configure Analogue filter
+ */
+ if (HAL_I2CEx_ConfigAnalogFilter(&hi2c4, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Configure Digital filter
+ */
+ if (HAL_I2CEx_ConfigDigitalFilter(&hi2c4, 0) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN I2C4_Init 2 */
+
+ /* USER CODE END I2C4_Init 2 */
+
+}
+
+/**
+ * @brief SPI1 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_SPI1_Init(void)
+{
+
+ /* USER CODE BEGIN SPI1_Init 0 */
+
+ /* USER CODE END SPI1_Init 0 */
+
+ /* USER CODE BEGIN SPI1_Init 1 */
+
+ /* USER CODE END SPI1_Init 1 */
+ /* SPI1 parameter configuration*/
+ hspi1.Instance = SPI1;
+ hspi1.Init.Mode = SPI_MODE_MASTER;
+ hspi1.Init.Direction = SPI_DIRECTION_2LINES;
+ hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
+ hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
+ hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
+ hspi1.Init.NSS = SPI_NSS_SOFT;
+ hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;
+ hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
+ hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
+ hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
+ hspi1.Init.CRCPolynomial = 7;
+ hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
+ hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
+ if (HAL_SPI_Init(&hspi1) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN SPI1_Init 2 */
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
+ /* USER CODE END SPI1_Init 2 */
+
+}
+
+/**
+ * @brief SPI2 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_SPI2_Init(void)
+{
+
+ /* USER CODE BEGIN SPI2_Init 0 */
+
+ /* USER CODE END SPI2_Init 0 */
+
+ /* USER CODE BEGIN SPI2_Init 1 */
+
+ /* USER CODE END SPI2_Init 1 */
+ /* SPI2 parameter configuration*/
+ hspi2.Instance = SPI2;
+ hspi2.Init.Mode = SPI_MODE_MASTER;
+ hspi2.Init.Direction = SPI_DIRECTION_2LINES;
+ hspi2.Init.DataSize = SPI_DATASIZE_8BIT;
+ hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
+ hspi2.Init.CLKPhase = SPI_PHASE_1EDGE;
+ hspi2.Init.NSS = SPI_NSS_SOFT;
+ hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;
+ hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
+ hspi2.Init.TIMode = SPI_TIMODE_DISABLE;
+ hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
+ hspi2.Init.CRCPolynomial = 7;
+ hspi2.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
+ hspi2.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
+ if (HAL_SPI_Init(&hspi2) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN SPI2_Init 2 */
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
+ /* USER CODE END SPI2_Init 2 */
+
+}
+
+/**
+ * @brief USART1 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_USART1_UART_Init(void)
+{
+
+ /* USER CODE BEGIN USART1_Init 0 */
+
+ /* USER CODE END USART1_Init 0 */
+
+ /* USER CODE BEGIN USART1_Init 1 */
+
+ /* USER CODE END USART1_Init 1 */
+ huart1.Instance = USART1;
+ huart1.Init.BaudRate = 115200;
+ huart1.Init.WordLength = UART_WORDLENGTH_8B;
+ huart1.Init.StopBits = UART_STOPBITS_1;
+ huart1.Init.Parity = UART_PARITY_NONE;
+ huart1.Init.Mode = UART_MODE_TX_RX;
+ huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ huart1.Init.OverSampling = UART_OVERSAMPLING_16;
+ huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&huart1) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN USART1_Init 2 */
+
+ /* USER CODE END USART1_Init 2 */
+
+}
+
+/**
+ * @brief GPIO Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_GPIO_Init(void)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+
+ /* GPIO Ports Clock Enable */
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_GPIOE_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_GPIOH_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9|GPIO_PIN_12|GPIO_PIN_1, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOE, GPIO_PIN_0|GPIO_PIN_13|GPIO_PIN_14, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOD, GPIO_PIN_10, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
+
+ /*Configure GPIO pins : PB8 PB0 */
+ GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_0;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : PB9 PB12 PB1 */
+ GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_12|GPIO_PIN_1;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : PE0 PE13 PE14 */
+ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_13|GPIO_PIN_14;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PD10 */
+ GPIO_InitStruct.Pin = GPIO_PIN_10;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PA4 */
+ GPIO_InitStruct.Pin = GPIO_PIN_4;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PE15 */
+ GPIO_InitStruct.Pin = GPIO_PIN_15;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
+
+ /* Configure GPIO used by I2C slave to be sure they don't pull */
+ GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_9;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* trying to patch MISO from SPI1 */
+ GPIO_InitStruct.Pin = GPIO_PIN_6;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+}
+
+/* USER CODE BEGIN 4 */
+
+/* USER CODE END 4 */
+
+/**
+ * @brief This function is executed in case of error occurrence.
+ * @retval None
+ */
+void Error_Handler(void)
+{
+ /* USER CODE BEGIN Error_Handler_Debug */
+ /* User can add his own implementation to report the HAL error return state */
+ __disable_irq();
+ /* WTF ? ! We shouldn't be here ! */
+ NVIC_SystemReset();
+ while (1)
+ {
+ }
+ /* USER CODE END Error_Handler_Debug */
+}
+
+/* I2C slave callback */
+void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *I2cHandle)
+{
+ /* TX transfer is complete */
+
+ CSKB_I2C_TX_Complete = 1;
+ CSKB_I2C_TX_Size = I2C_BUFFER_SIZE;
+}
+
+void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *I2cHandle)
+{
+ /* RX transfer is complete */
+
+ CSKB_I2C_RX_Complete = 1;
+ CSKB_I2C_RX_Size = I2C_BUFFER_SIZE;
+}
+
+void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrMatchCode) {
+ /* Slave matched his address */
+ if (TransferDirection != 0) {
+ /* I2C Transmit buffer */
+ CSKB_I2C_Dir = I2C_TX;
+ uint8_t framesize = (CSKB_I2C_NXT_FrameSize == 0) ? I2C_BUFFER_SIZE : CSKB_I2C_NXT_FrameSize;
+ if (HAL_I2C_Slave_Seq_Transmit_IT(hi2c, (uint8_t *)CSKB_I2C_TX_BUFFER, framesize, I2C_FIRST_AND_LAST_FRAME) != HAL_OK) {
+ /* Transfer error in transmission process */
+ Error_Handler();
+ }
+ } else {
+ CSKB_I2C_Dir = I2C_RX;
+ /* I2C Receive on the rx buffer*/
+ if (HAL_I2C_Slave_Seq_Receive_IT(hi2c, (uint8_t *)CSKB_I2C_RX_BUFFER, I2C_BUFFER_SIZE, I2C_FIRST_AND_LAST_FRAME) != HAL_OK) {
+ /* Transfer error in reception process */
+ Error_Handler();
+ }
+ }
+
+}
+
+void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
+{
+ /* Handling here incomplete RX/TX with dirty hack */
+ if (CSKB_I2C_Dir == I2C_TX) {
+ CSKB_I2C_TX_Complete = 1;
+ CSKB_I2C_TX_Size = (CSKB_I2C_NXT_FrameSize == 0) ? I2C_BUFFER_SIZE - hi2c->XferSize : CSKB_I2C_NXT_FrameSize - hi2c->XferSize;
+ } else if (CSKB_I2C_Dir == I2C_RX) {
+ CSKB_I2C_RX_Complete = 1;
+ CSKB_I2C_RX_Size = I2C_BUFFER_SIZE - hi2c->XferSize;
+ }
+ CSKB_I2C_Dir = I2C_NONE;
+}
+
+void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *I2cHandle)
+{
+ /** Error_Handler() function is called when error occurs.
+ * 1- When Slave doesn't acknowledge its address, Master restarts communication.
+ * 2- When Master doesn't acknowledge the last data transferred, Slave doesn't care in this example.
+ */
+ /*if (HAL_I2C_GetError(I2cHandle) != HAL_I2C_ERROR_AF)
+ {
+ Error_Handler();
+ }*/
+ // Really dirty trick no warranties
+ if ((HAL_I2C_GetError(I2cHandle) == HAL_I2C_ERROR_AF) && (HAL_I2C_GetState(I2cHandle) != HAL_I2C_STATE_BUSY)) {
+ return; // no real error!!!
+ }
+}
+
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * @param file: pointer to the source file name
+ * @param line: assert_param error line source number
+ * @retval None
+ */
+void assert_failed(uint8_t *file, uint32_t line)
+{
+ /* USER CODE BEGIN 6 */
+ /* User can add his own implementation to report the file name and line number,
+ ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+ /* USER CODE END 6 */
+}
+#endif /* USE_FULL_ASSERT */
diff --git a/STM32Project/Spino_bringup/Core/Src/stm32l4xx_hal_msp.c b/STM32Project/Spino_bringup/Core/Src/stm32l4xx_hal_msp.c
new file mode 100644
index 0000000000000000000000000000000000000000..a8d7acfee3c0476dd504d05d7e743feb2da73c71
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Src/stm32l4xx_hal_msp.c
@@ -0,0 +1,403 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l4xx_hal_msp.c
+ * @brief This file provides code for the MSP Initialization
+ * and de-Initialization codes.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2022 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN Define */
+
+/* USER CODE END Define */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN Macro */
+
+/* USER CODE END Macro */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* External functions --------------------------------------------------------*/
+/* USER CODE BEGIN ExternalFunctions */
+
+/* USER CODE END ExternalFunctions */
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+/**
+ * Initializes the Global MSP.
+ */
+void HAL_MspInit(void)
+{
+ /* USER CODE BEGIN MspInit 0 */
+
+ /* USER CODE END MspInit 0 */
+
+ __HAL_RCC_SYSCFG_CLK_ENABLE();
+ __HAL_RCC_PWR_CLK_ENABLE();
+
+ /* System interrupt init*/
+
+ /* USER CODE BEGIN MspInit 1 */
+
+ /* USER CODE END MspInit 1 */
+}
+
+/**
+* @brief I2C MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hi2c: I2C handle pointer
+* @retval None
+*/
+void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
+ if(hi2c->Instance==I2C1)
+ {
+ /* USER CODE BEGIN I2C1_MspInit 0 */
+
+ /* USER CODE END I2C1_MspInit 0 */
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
+ PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ /**I2C1 GPIO Configuration
+ PA10 ------> I2C1_SDA
+ PA9 ------> I2C1_SCL
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_9;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF4_I2C1;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* Peripheral clock enable */
+ __HAL_RCC_I2C1_CLK_ENABLE();
+ /* I2C1 interrupt Init */
+ HAL_NVIC_SetPriority(I2C1_EV_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(I2C1_EV_IRQn);
+ /* USER CODE BEGIN I2C1_MspInit 1 */
+
+ /* USER CODE END I2C1_MspInit 1 */
+ }
+ else if(hi2c->Instance==I2C4)
+ {
+ /* USER CODE BEGIN I2C4_MspInit 0 */
+
+ /* USER CODE END I2C4_MspInit 0 */
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C4;
+ PeriphClkInit.I2c4ClockSelection = RCC_I2C4CLKSOURCE_PCLK1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ /**I2C4 GPIO Configuration
+ PD13 ------> I2C4_SDA
+ PD12 ------> I2C4_SCL
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_12;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF4_I2C4;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ /* Peripheral clock enable */
+ __HAL_RCC_I2C4_CLK_ENABLE();
+ /* USER CODE BEGIN I2C4_MspInit 1 */
+
+ /* USER CODE END I2C4_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief I2C MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hi2c: I2C handle pointer
+* @retval None
+*/
+void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
+{
+ if(hi2c->Instance==I2C1)
+ {
+ /* USER CODE BEGIN I2C1_MspDeInit 0 */
+
+ /* USER CODE END I2C1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_I2C1_CLK_DISABLE();
+
+ /**I2C1 GPIO Configuration
+ PA10 ------> I2C1_SDA
+ PA9 ------> I2C1_SCL
+ */
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_10);
+
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9);
+
+ /* I2C1 interrupt DeInit */
+ HAL_NVIC_DisableIRQ(I2C1_EV_IRQn);
+ /* USER CODE BEGIN I2C1_MspDeInit 1 */
+
+ /* USER CODE END I2C1_MspDeInit 1 */
+ }
+ else if(hi2c->Instance==I2C4)
+ {
+ /* USER CODE BEGIN I2C4_MspDeInit 0 */
+
+ /* USER CODE END I2C4_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_I2C4_CLK_DISABLE();
+
+ /**I2C4 GPIO Configuration
+ PD13 ------> I2C4_SDA
+ PD12 ------> I2C4_SCL
+ */
+ HAL_GPIO_DeInit(GPIOD, GPIO_PIN_13);
+
+ HAL_GPIO_DeInit(GPIOD, GPIO_PIN_12);
+
+ /* USER CODE BEGIN I2C4_MspDeInit 1 */
+
+ /* USER CODE END I2C4_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief SPI MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hspi: SPI handle pointer
+* @retval None
+*/
+void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(hspi->Instance==SPI1)
+ {
+ /* USER CODE BEGIN SPI1_MspInit 0 */
+
+ /* USER CODE END SPI1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_SPI1_CLK_ENABLE();
+
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ /**SPI1 GPIO Configuration
+ PA6 ------> SPI1_MISO
+ PA1 ------> SPI1_SCK
+ PA7 ------> SPI1_MOSI
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_1|GPIO_PIN_7;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN SPI1_MspInit 1 */
+
+ /* USER CODE END SPI1_MspInit 1 */
+ }
+ else if(hspi->Instance==SPI2)
+ {
+ /* USER CODE BEGIN SPI2_MspInit 0 */
+
+ /* USER CODE END SPI2_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_SPI2_CLK_ENABLE();
+
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ /**SPI2 GPIO Configuration
+ PB15 ------> SPI2_MOSI
+ PB14 ------> SPI2_MISO
+ PB13 ------> SPI2_SCK
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_14|GPIO_PIN_13;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN SPI2_MspInit 1 */
+
+ /* USER CODE END SPI2_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief SPI MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hspi: SPI handle pointer
+* @retval None
+*/
+void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
+{
+ if(hspi->Instance==SPI1)
+ {
+ /* USER CODE BEGIN SPI1_MspDeInit 0 */
+
+ /* USER CODE END SPI1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_SPI1_CLK_DISABLE();
+
+ /**SPI1 GPIO Configuration
+ PA6 ------> SPI1_MISO
+ PA1 ------> SPI1_SCK
+ PA7 ------> SPI1_MOSI
+ */
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_6|GPIO_PIN_1|GPIO_PIN_7);
+
+ /* USER CODE BEGIN SPI1_MspDeInit 1 */
+
+ /* USER CODE END SPI1_MspDeInit 1 */
+ }
+ else if(hspi->Instance==SPI2)
+ {
+ /* USER CODE BEGIN SPI2_MspDeInit 0 */
+
+ /* USER CODE END SPI2_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_SPI2_CLK_DISABLE();
+
+ /**SPI2 GPIO Configuration
+ PB15 ------> SPI2_MOSI
+ PB14 ------> SPI2_MISO
+ PB13 ------> SPI2_SCK
+ */
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_15|GPIO_PIN_14|GPIO_PIN_13);
+
+ /* USER CODE BEGIN SPI2_MspDeInit 1 */
+
+ /* USER CODE END SPI2_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief UART MSP Initialization
+* This function configures the hardware resources used in this example
+* @param huart: UART handle pointer
+* @retval None
+*/
+void HAL_UART_MspInit(UART_HandleTypeDef* huart)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
+ if(huart->Instance==USART1)
+ {
+ /* USER CODE BEGIN USART1_MspInit 0 */
+
+ /* USER CODE END USART1_MspInit 0 */
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1;
+ PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /* Peripheral clock enable */
+ __HAL_RCC_USART1_CLK_ENABLE();
+
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ /**USART1 GPIO Configuration
+ PB7 ------> USART1_RX
+ PB6 ------> USART1_TX
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN USART1_MspInit 1 */
+
+ /* USER CODE END USART1_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief UART MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param huart: UART handle pointer
+* @retval None
+*/
+void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
+{
+ if(huart->Instance==USART1)
+ {
+ /* USER CODE BEGIN USART1_MspDeInit 0 */
+
+ /* USER CODE END USART1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USART1_CLK_DISABLE();
+
+ /**USART1 GPIO Configuration
+ PB7 ------> USART1_RX
+ PB6 ------> USART1_TX
+ */
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_7|GPIO_PIN_6);
+
+ /* USER CODE BEGIN USART1_MspDeInit 1 */
+
+ /* USER CODE END USART1_MspDeInit 1 */
+ }
+
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/STM32Project/Spino_bringup/Core/Src/stm32l4xx_it.c b/STM32Project/Spino_bringup/Core/Src/stm32l4xx_it.c
new file mode 100644
index 0000000000000000000000000000000000000000..76980e43ec9ec3228c2357dfbc047a9549cf47a5
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Src/stm32l4xx_it.c
@@ -0,0 +1,217 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l4xx_it.c
+ * @brief Interrupt Service Routines.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2022 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "stm32l4xx_it.h"
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/* External variables --------------------------------------------------------*/
+extern I2C_HandleTypeDef hi2c1;
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/******************************************************************************/
+/* Cortex-M4 Processor Interruption and Exception Handlers */
+/******************************************************************************/
+/**
+ * @brief This function handles Non maskable interrupt.
+ */
+void NMI_Handler(void)
+{
+ /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
+
+ /* USER CODE END NonMaskableInt_IRQn 0 */
+ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
+ while (1)
+ {
+ }
+ /* USER CODE END NonMaskableInt_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Hard fault interrupt.
+ */
+void HardFault_Handler(void)
+{
+ /* USER CODE BEGIN HardFault_IRQn 0 */
+
+ /* USER CODE END HardFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_HardFault_IRQn 0 */
+ /* USER CODE END W1_HardFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Memory management fault.
+ */
+void MemManage_Handler(void)
+{
+ /* USER CODE BEGIN MemoryManagement_IRQn 0 */
+
+ /* USER CODE END MemoryManagement_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
+ /* USER CODE END W1_MemoryManagement_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Prefetch fault, memory access fault.
+ */
+void BusFault_Handler(void)
+{
+ /* USER CODE BEGIN BusFault_IRQn 0 */
+
+ /* USER CODE END BusFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_BusFault_IRQn 0 */
+ /* USER CODE END W1_BusFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Undefined instruction or illegal state.
+ */
+void UsageFault_Handler(void)
+{
+ /* USER CODE BEGIN UsageFault_IRQn 0 */
+
+ /* USER CODE END UsageFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
+ /* USER CODE END W1_UsageFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles System service call via SWI instruction.
+ */
+void SVC_Handler(void)
+{
+ /* USER CODE BEGIN SVCall_IRQn 0 */
+
+ /* USER CODE END SVCall_IRQn 0 */
+ /* USER CODE BEGIN SVCall_IRQn 1 */
+
+ /* USER CODE END SVCall_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Debug monitor.
+ */
+void DebugMon_Handler(void)
+{
+ /* USER CODE BEGIN DebugMonitor_IRQn 0 */
+
+ /* USER CODE END DebugMonitor_IRQn 0 */
+ /* USER CODE BEGIN DebugMonitor_IRQn 1 */
+
+ /* USER CODE END DebugMonitor_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Pendable request for system service.
+ */
+void PendSV_Handler(void)
+{
+ /* USER CODE BEGIN PendSV_IRQn 0 */
+
+ /* USER CODE END PendSV_IRQn 0 */
+ /* USER CODE BEGIN PendSV_IRQn 1 */
+
+ /* USER CODE END PendSV_IRQn 1 */
+}
+
+/**
+ * @brief This function handles System tick timer.
+ */
+void SysTick_Handler(void)
+{
+ /* USER CODE BEGIN SysTick_IRQn 0 */
+
+ /* USER CODE END SysTick_IRQn 0 */
+ HAL_IncTick();
+ /* USER CODE BEGIN SysTick_IRQn 1 */
+
+ /* USER CODE END SysTick_IRQn 1 */
+}
+
+/******************************************************************************/
+/* STM32L4xx Peripheral Interrupt Handlers */
+/* Add here the Interrupt Handlers for the used peripherals. */
+/* For the available peripheral interrupt handler names, */
+/* please refer to the startup file (startup_stm32l4xx.s). */
+/******************************************************************************/
+
+/**
+ * @brief This function handles I2C1 event interrupt.
+ */
+void I2C1_EV_IRQHandler(void)
+{
+ /* USER CODE BEGIN I2C1_EV_IRQn 0 */
+
+ /* USER CODE END I2C1_EV_IRQn 0 */
+ HAL_I2C_EV_IRQHandler(&hi2c1);
+ /* USER CODE BEGIN I2C1_EV_IRQn 1 */
+
+ /* USER CODE END I2C1_EV_IRQn 1 */
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/STM32Project/Spino_bringup/Core/Src/syscalls.c b/STM32Project/Spino_bringup/Core/Src/syscalls.c
new file mode 100644
index 0000000000000000000000000000000000000000..fadb992b15f7fab40c5895cd40108d27bd613cec
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Src/syscalls.c
@@ -0,0 +1,155 @@
+/**
+ ******************************************************************************
+ * @file syscalls.c
+ * @author Auto-generated by STM32CubeIDE
+ * @brief STM32CubeIDE Minimal System calls file
+ *
+ * For more information about which c-functions
+ * need which of these lowlevel functions
+ * please consult the Newlib libc-manual
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2022 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/* Includes */
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+/* Variables */
+extern int __io_putchar(int ch) __attribute__((weak));
+extern int __io_getchar(void) __attribute__((weak));
+
+
+char *__env[1] = { 0 };
+char **environ = __env;
+
+
+/* Functions */
+void initialise_monitor_handles()
+{
+}
+
+int _getpid(void)
+{
+ return 1;
+}
+
+int _kill(int pid, int sig)
+{
+ errno = EINVAL;
+ return -1;
+}
+
+void _exit (int status)
+{
+ _kill(status, -1);
+ while (1) {} /* Make sure we hang here */
+}
+
+__attribute__((weak)) int _read(int file, char *ptr, int len)
+{
+ int DataIdx;
+
+ for (DataIdx = 0; DataIdx < len; DataIdx++)
+ {
+ *ptr++ = __io_getchar();
+ }
+
+return len;
+}
+
+__attribute__((weak)) int _write(int file, char *ptr, int len)
+{
+ int DataIdx;
+
+ for (DataIdx = 0; DataIdx < len; DataIdx++)
+ {
+ __io_putchar(*ptr++);
+ }
+ return len;
+}
+
+int _close(int file)
+{
+ return -1;
+}
+
+
+int _fstat(int file, struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int _isatty(int file)
+{
+ return 1;
+}
+
+int _lseek(int file, int ptr, int dir)
+{
+ return 0;
+}
+
+int _open(char *path, int flags, ...)
+{
+ /* Pretend like we always fail */
+ return -1;
+}
+
+int _wait(int *status)
+{
+ errno = ECHILD;
+ return -1;
+}
+
+int _unlink(char *name)
+{
+ errno = ENOENT;
+ return -1;
+}
+
+int _times(struct tms *buf)
+{
+ return -1;
+}
+
+int _stat(char *file, struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int _link(char *old, char *new)
+{
+ errno = EMLINK;
+ return -1;
+}
+
+int _fork(void)
+{
+ errno = EAGAIN;
+ return -1;
+}
+
+int _execve(char *name, char **argv, char **env)
+{
+ errno = ENOMEM;
+ return -1;
+}
diff --git a/STM32Project/Spino_bringup/Core/Src/sysmem.c b/STM32Project/Spino_bringup/Core/Src/sysmem.c
new file mode 100644
index 0000000000000000000000000000000000000000..54081ac9b0107e5371a578307f7e73ffa435ad97
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Src/sysmem.c
@@ -0,0 +1,79 @@
+/**
+ ******************************************************************************
+ * @file sysmem.c
+ * @author Generated by STM32CubeIDE
+ * @brief STM32CubeIDE System Memory calls file
+ *
+ * For more information about which C functions
+ * need which of these lowlevel functions
+ * please consult the newlib libc manual
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2022 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/* Includes */
+#include
+#include
+
+/**
+ * Pointer to the current high watermark of the heap usage
+ */
+static uint8_t *__sbrk_heap_end = NULL;
+
+/**
+ * @brief _sbrk() allocates memory to the newlib heap and is used by malloc
+ * and others from the C library
+ *
+ * @verbatim
+ * ############################################################################
+ * # .data # .bss # newlib heap # MSP stack #
+ * # # # # Reserved by _Min_Stack_Size #
+ * ############################################################################
+ * ^-- RAM start ^-- _end _estack, RAM end --^
+ * @endverbatim
+ *
+ * This implementation starts allocating at the '_end' linker symbol
+ * The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack
+ * The implementation considers '_estack' linker symbol to be RAM end
+ * NOTE: If the MSP stack, at any point during execution, grows larger than the
+ * reserved size, please increase the '_Min_Stack_Size'.
+ *
+ * @param incr Memory size
+ * @return Pointer to allocated memory
+ */
+void *_sbrk(ptrdiff_t incr)
+{
+ extern uint8_t _end; /* Symbol defined in the linker script */
+ extern uint8_t _estack; /* Symbol defined in the linker script */
+ extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */
+ const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
+ const uint8_t *max_heap = (uint8_t *)stack_limit;
+ uint8_t *prev_heap_end;
+
+ /* Initialize heap end at first call */
+ if (NULL == __sbrk_heap_end)
+ {
+ __sbrk_heap_end = &_end;
+ }
+
+ /* Protect heap from growing into the reserved MSP stack */
+ if (__sbrk_heap_end + incr > max_heap)
+ {
+ errno = ENOMEM;
+ return (void *)-1;
+ }
+
+ prev_heap_end = __sbrk_heap_end;
+ __sbrk_heap_end += incr;
+
+ return (void *)prev_heap_end;
+}
diff --git a/STM32Project/Spino_bringup/Core/Src/system_stm32l4xx.c b/STM32Project/Spino_bringup/Core/Src/system_stm32l4xx.c
new file mode 100644
index 0000000000000000000000000000000000000000..4271456ae49d9dbf0508b2f5420bde830416f094
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Src/system_stm32l4xx.c
@@ -0,0 +1,332 @@
+/**
+ ******************************************************************************
+ * @file system_stm32l4xx.c
+ * @author MCD Application Team
+ * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File
+ *
+ * This file provides two functions and one global variable to be called from
+ * user application:
+ * - SystemInit(): This function is called at startup just after reset and
+ * before branch to main program. This call is made inside
+ * the "startup_stm32l4xx.s" file.
+ *
+ * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
+ * by the user application to setup the SysTick
+ * timer or configure other parameters.
+ *
+ * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
+ * be called whenever the core clock is changed
+ * during program execution.
+ *
+ * After each device reset the MSI (4 MHz) is used as system clock source.
+ * Then SystemInit() function is called, in "startup_stm32l4xx.s" file, to
+ * configure the system clock before to branch to main program.
+ *
+ * This file configures the system clock as follows:
+ *=============================================================================
+ *-----------------------------------------------------------------------------
+ * System Clock source | MSI
+ *-----------------------------------------------------------------------------
+ * SYSCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * HCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * AHB Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB1 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB2 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * PLL_M | 1
+ *-----------------------------------------------------------------------------
+ * PLL_N | 8
+ *-----------------------------------------------------------------------------
+ * PLL_P | 7
+ *-----------------------------------------------------------------------------
+ * PLL_Q | 2
+ *-----------------------------------------------------------------------------
+ * PLL_R | 2
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_P | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_Q | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_R | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_P | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_Q | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_R | NA
+ *-----------------------------------------------------------------------------
+ * Require 48MHz for USB OTG FS, | Disabled
+ * SDIO and RNG clock |
+ *-----------------------------------------------------------------------------
+ *=============================================================================
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2017 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/** @addtogroup CMSIS
+ * @{
+ */
+
+/** @addtogroup stm32l4xx_system
+ * @{
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Includes
+ * @{
+ */
+
+#include "stm32l4xx.h"
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_TypesDefinitions
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Defines
+ * @{
+ */
+
+#if !defined (HSE_VALUE)
+ #define HSE_VALUE 8000000U /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE 4000000U /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+/* Note: Following vector table addresses must be defined in line with linker
+ configuration. */
+/*!< Uncomment the following line if you need to relocate the vector table
+ anywhere in Flash or Sram, else the vector table is kept at the automatic
+ remap of boot address selected */
+/* #define USER_VECT_TAB_ADDRESS */
+
+#if defined(USER_VECT_TAB_ADDRESS)
+/*!< Uncomment the following line if you need to relocate your vector Table
+ in Sram else user remap will be done in Flash. */
+/* #define VECT_TAB_SRAM */
+
+#if defined(VECT_TAB_SRAM)
+#define VECT_TAB_BASE_ADDRESS SRAM1_BASE /*!< Vector Table base address field.
+ This value must be a multiple of 0x200. */
+#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field.
+ This value must be a multiple of 0x200. */
+#else
+#define VECT_TAB_BASE_ADDRESS FLASH_BASE /*!< Vector Table base address field.
+ This value must be a multiple of 0x200. */
+#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field.
+ This value must be a multiple of 0x200. */
+#endif /* VECT_TAB_SRAM */
+#endif /* USER_VECT_TAB_ADDRESS */
+
+/******************************************************************************/
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Variables
+ * @{
+ */
+ /* The SystemCoreClock variable is updated in three ways:
+ 1) by calling CMSIS function SystemCoreClockUpdate()
+ 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
+ 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
+ Note: If you use this function to configure the system clock; then there
+ is no need to call the 2 first functions listed above, since SystemCoreClock
+ variable is updated automatically.
+ */
+ uint32_t SystemCoreClock = 4000000U;
+
+ const uint8_t AHBPrescTable[16] = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U, 6U, 7U, 8U, 9U};
+ const uint8_t APBPrescTable[8] = {0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U};
+ const uint32_t MSIRangeTable[12] = {100000U, 200000U, 400000U, 800000U, 1000000U, 2000000U, \
+ 4000000U, 8000000U, 16000000U, 24000000U, 32000000U, 48000000U};
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_FunctionPrototypes
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Functions
+ * @{
+ */
+
+/**
+ * @brief Setup the microcontroller system.
+ * @retval None
+ */
+
+void SystemInit(void)
+{
+#if defined(USER_VECT_TAB_ADDRESS)
+ /* Configure the Vector Table location -------------------------------------*/
+ SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET;
+#endif
+
+ /* FPU settings ------------------------------------------------------------*/
+#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+ SCB->CPACR |= ((3UL << 20U)|(3UL << 22U)); /* set CP10 and CP11 Full Access */
+#endif
+}
+
+/**
+ * @brief Update SystemCoreClock variable according to Clock Register Values.
+ * The SystemCoreClock variable contains the core clock (HCLK), it can
+ * be used by the user application to setup the SysTick timer or configure
+ * other parameters.
+ *
+ * @note Each time the core clock (HCLK) changes, this function must be called
+ * to update SystemCoreClock variable value. Otherwise, any configuration
+ * based on this variable will be incorrect.
+ *
+ * @note - The system frequency computed by this function is not the real
+ * frequency in the chip. It is calculated based on the predefined
+ * constant and the selected clock source:
+ *
+ * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI_VALUE(*)
+ *
+ * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**)
+ *
+ * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***)
+ *
+ * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(***)
+ * or HSI_VALUE(*) or MSI_VALUE(*) multiplied/divided by the PLL factors.
+ *
+ * (*) MSI_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 4 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (**) HSI_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 16 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (***) HSE_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 8 MHz), user has to ensure that HSE_VALUE is same as the real
+ * frequency of the crystal used. Otherwise, this function may
+ * have wrong result.
+ *
+ * - The result of this function could be not correct when using fractional
+ * value for HSE crystal.
+ *
+ * @retval None
+ */
+void SystemCoreClockUpdate(void)
+{
+ uint32_t tmp, msirange, pllvco, pllsource, pllm, pllr;
+
+ /* Get MSI Range frequency--------------------------------------------------*/
+ if ((RCC->CR & RCC_CR_MSIRGSEL) == 0U)
+ { /* MSISRANGE from RCC_CSR applies */
+ msirange = (RCC->CSR & RCC_CSR_MSISRANGE) >> 8U;
+ }
+ else
+ { /* MSIRANGE from RCC_CR applies */
+ msirange = (RCC->CR & RCC_CR_MSIRANGE) >> 4U;
+ }
+ /*MSI frequency range in HZ*/
+ msirange = MSIRangeTable[msirange];
+
+ /* Get SYSCLK source -------------------------------------------------------*/
+ switch (RCC->CFGR & RCC_CFGR_SWS)
+ {
+ case 0x00: /* MSI used as system clock source */
+ SystemCoreClock = msirange;
+ break;
+
+ case 0x04: /* HSI used as system clock source */
+ SystemCoreClock = HSI_VALUE;
+ break;
+
+ case 0x08: /* HSE used as system clock source */
+ SystemCoreClock = HSE_VALUE;
+ break;
+
+ case 0x0C: /* PLL used as system clock source */
+ /* PLL_VCO = (HSE_VALUE or HSI_VALUE or MSI_VALUE/ PLLM) * PLLN
+ SYSCLK = PLL_VCO / PLLR
+ */
+ pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC);
+ pllm = ((RCC->PLLCFGR & RCC_PLLCFGR_PLLM) >> 4U) + 1U ;
+
+ switch (pllsource)
+ {
+ case 0x02: /* HSI used as PLL clock source */
+ pllvco = (HSI_VALUE / pllm);
+ break;
+
+ case 0x03: /* HSE used as PLL clock source */
+ pllvco = (HSE_VALUE / pllm);
+ break;
+
+ default: /* MSI used as PLL clock source */
+ pllvco = (msirange / pllm);
+ break;
+ }
+ pllvco = pllvco * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 8U);
+ pllr = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLR) >> 25U) + 1U) * 2U;
+ SystemCoreClock = pllvco/pllr;
+ break;
+
+ default:
+ SystemCoreClock = msirange;
+ break;
+ }
+ /* Compute HCLK clock frequency --------------------------------------------*/
+ /* Get HCLK prescaler */
+ tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4U)];
+ /* HCLK clock frequency */
+ SystemCoreClock >>= tmp;
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/STM32Project/Spino_bringup/Core/Startup/startup_stm32l451vcix.s b/STM32Project/Spino_bringup/Core/Startup/startup_stm32l451vcix.s
new file mode 100644
index 0000000000000000000000000000000000000000..03383015016efc830ed26816ff674708d41214e1
--- /dev/null
+++ b/STM32Project/Spino_bringup/Core/Startup/startup_stm32l451vcix.s
@@ -0,0 +1,475 @@
+/**
+ ******************************************************************************
+ * @file startup_stm32l451xx.s
+ * @author MCD Application Team
+ * @brief STM32L451xx devices vector table for GCC toolchain.
+ * This module performs:
+ * - Set the initial SP
+ * - Set the initial PC == Reset_Handler,
+ * - Set the vector table entries with the exceptions ISR address,
+ * - Configure the clock system
+ * - Branches to main in the C library (which eventually
+ * calls main()).
+ * After Reset the Cortex-M4 processor is in Thread mode,
+ * priority is Privileged, and the Stack is set to Main.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2017 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+ .syntax unified
+ .cpu cortex-m4
+ .fpu softvfp
+ .thumb
+
+.global g_pfnVectors
+.global Default_Handler
+
+/* start address for the initialization values of the .data section.
+defined in linker script */
+.word _sidata
+/* start address for the .data section. defined in linker script */
+.word _sdata
+/* end address for the .data section. defined in linker script */
+.word _edata
+/* start address for the .bss section. defined in linker script */
+.word _sbss
+/* end address for the .bss section. defined in linker script */
+.word _ebss
+
+.equ BootRAM, 0xF1E0F85F
+/**
+ * @brief This is the code that gets called when the processor first
+ * starts execution following a reset event. Only the absolutely
+ * necessary set is performed, after which the application
+ * supplied main() routine is called.
+ * @param None
+ * @retval : None
+*/
+
+ .section .text.Reset_Handler
+ .weak Reset_Handler
+ .type Reset_Handler, %function
+Reset_Handler:
+ ldr sp, =_estack /* Set stack pointer */
+
+/* Call the clock system initialization function.*/
+ bl SystemInit
+
+/* Copy the data segment initializers from flash to SRAM */
+ ldr r0, =_sdata
+ ldr r1, =_edata
+ ldr r2, =_sidata
+ movs r3, #0
+ b LoopCopyDataInit
+
+CopyDataInit:
+ ldr r4, [r2, r3]
+ str r4, [r0, r3]
+ adds r3, r3, #4
+
+LoopCopyDataInit:
+ adds r4, r0, r3
+ cmp r4, r1
+ bcc CopyDataInit
+
+/* Zero fill the bss segment. */
+ ldr r2, =_sbss
+ ldr r4, =_ebss
+ movs r3, #0
+ b LoopFillZerobss
+
+FillZerobss:
+ str r3, [r2]
+ adds r2, r2, #4
+
+LoopFillZerobss:
+ cmp r2, r4
+ bcc FillZerobss
+
+/* Call static constructors */
+ bl __libc_init_array
+/* Call the application's entry point.*/
+ bl main
+
+LoopForever:
+ b LoopForever
+
+.size Reset_Handler, .-Reset_Handler
+
+/**
+ * @brief This is the code that gets called when the processor receives an
+ * unexpected interrupt. This simply enters an infinite loop, preserving
+ * the system state for examination by a debugger.
+ *
+ * @param None
+ * @retval : None
+*/
+ .section .text.Default_Handler,"ax",%progbits
+Default_Handler:
+Infinite_Loop:
+ b Infinite_Loop
+ .size Default_Handler, .-Default_Handler
+/******************************************************************************
+*
+* The minimal vector table for a Cortex-M4. Note that the proper constructs
+* must be placed on this to ensure that it ends up at physical address
+* 0x0000.0000.
+*
+******************************************************************************/
+ .section .isr_vector,"a",%progbits
+ .type g_pfnVectors, %object
+ .size g_pfnVectors, .-g_pfnVectors
+
+
+g_pfnVectors:
+ .word _estack
+ .word Reset_Handler
+ .word NMI_Handler
+ .word HardFault_Handler
+ .word MemManage_Handler
+ .word BusFault_Handler
+ .word UsageFault_Handler
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word SVC_Handler
+ .word DebugMon_Handler
+ .word 0
+ .word PendSV_Handler
+ .word SysTick_Handler
+ .word WWDG_IRQHandler
+ .word PVD_PVM_IRQHandler
+ .word TAMP_STAMP_IRQHandler
+ .word RTC_WKUP_IRQHandler
+ .word FLASH_IRQHandler
+ .word RCC_IRQHandler
+ .word EXTI0_IRQHandler
+ .word EXTI1_IRQHandler
+ .word EXTI2_IRQHandler
+ .word EXTI3_IRQHandler
+ .word EXTI4_IRQHandler
+ .word DMA1_Channel1_IRQHandler
+ .word DMA1_Channel2_IRQHandler
+ .word DMA1_Channel3_IRQHandler
+ .word DMA1_Channel4_IRQHandler
+ .word DMA1_Channel5_IRQHandler
+ .word DMA1_Channel6_IRQHandler
+ .word DMA1_Channel7_IRQHandler
+ .word ADC1_IRQHandler
+ .word CAN1_TX_IRQHandler
+ .word CAN1_RX0_IRQHandler
+ .word CAN1_RX1_IRQHandler
+ .word CAN1_SCE_IRQHandler
+ .word EXTI9_5_IRQHandler
+ .word TIM1_BRK_TIM15_IRQHandler
+ .word TIM1_UP_TIM16_IRQHandler
+ .word TIM1_TRG_COM_IRQHandler
+ .word TIM1_CC_IRQHandler
+ .word TIM2_IRQHandler
+ .word TIM3_IRQHandler
+ .word 0
+ .word I2C1_EV_IRQHandler
+ .word I2C1_ER_IRQHandler
+ .word I2C2_EV_IRQHandler
+ .word I2C2_ER_IRQHandler
+ .word SPI1_IRQHandler
+ .word SPI2_IRQHandler
+ .word USART1_IRQHandler
+ .word USART2_IRQHandler
+ .word USART3_IRQHandler
+ .word EXTI15_10_IRQHandler
+ .word RTC_Alarm_IRQHandler
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word SDMMC1_IRQHandler
+ .word 0
+ .word SPI3_IRQHandler
+ .word UART4_IRQHandler
+ .word 0
+ .word TIM6_DAC_IRQHandler
+ .word 0
+ .word DMA2_Channel1_IRQHandler
+ .word DMA2_Channel2_IRQHandler
+ .word DMA2_Channel3_IRQHandler
+ .word DMA2_Channel4_IRQHandler
+ .word DMA2_Channel5_IRQHandler
+ .word DFSDM1_FLT0_IRQHandler
+ .word DFSDM1_FLT1_IRQHandler
+ .word 0
+ .word COMP_IRQHandler
+ .word LPTIM1_IRQHandler
+ .word LPTIM2_IRQHandler
+ .word 0
+ .word DMA2_Channel6_IRQHandler
+ .word DMA2_Channel7_IRQHandler
+ .word LPUART1_IRQHandler
+ .word QUADSPI_IRQHandler
+ .word I2C3_EV_IRQHandler
+ .word I2C3_ER_IRQHandler
+ .word SAI1_IRQHandler
+ .word 0
+ .word 0
+ .word TSC_IRQHandler
+ .word 0
+ .word 0
+ .word RNG_IRQHandler
+ .word FPU_IRQHandler
+ .word CRS_IRQHandler
+ .word I2C4_EV_IRQHandler
+ .word I2C4_ER_IRQHandler
+
+
+/*******************************************************************************
+*
+* Provide weak aliases for each Exception handler to the Default_Handler.
+* As they are weak aliases, any function with the same name will override
+* this definition.
+*
+*******************************************************************************/
+
+ .weak NMI_Handler
+ .thumb_set NMI_Handler,Default_Handler
+
+ .weak HardFault_Handler
+ .thumb_set HardFault_Handler,Default_Handler
+
+ .weak MemManage_Handler
+ .thumb_set MemManage_Handler,Default_Handler
+
+ .weak BusFault_Handler
+ .thumb_set BusFault_Handler,Default_Handler
+
+ .weak UsageFault_Handler
+ .thumb_set UsageFault_Handler,Default_Handler
+
+ .weak SVC_Handler
+ .thumb_set SVC_Handler,Default_Handler
+
+ .weak DebugMon_Handler
+ .thumb_set DebugMon_Handler,Default_Handler
+
+ .weak PendSV_Handler
+ .thumb_set PendSV_Handler,Default_Handler
+
+ .weak SysTick_Handler
+ .thumb_set SysTick_Handler,Default_Handler
+
+ .weak WWDG_IRQHandler
+ .thumb_set WWDG_IRQHandler,Default_Handler
+
+ .weak PVD_PVM_IRQHandler
+ .thumb_set PVD_PVM_IRQHandler,Default_Handler
+
+ .weak TAMP_STAMP_IRQHandler
+ .thumb_set TAMP_STAMP_IRQHandler,Default_Handler
+
+ .weak RTC_WKUP_IRQHandler
+ .thumb_set RTC_WKUP_IRQHandler,Default_Handler
+
+ .weak FLASH_IRQHandler
+ .thumb_set FLASH_IRQHandler,Default_Handler
+
+ .weak RCC_IRQHandler
+ .thumb_set RCC_IRQHandler,Default_Handler
+
+ .weak EXTI0_IRQHandler
+ .thumb_set EXTI0_IRQHandler,Default_Handler
+
+ .weak EXTI1_IRQHandler
+ .thumb_set EXTI1_IRQHandler,Default_Handler
+
+ .weak EXTI2_IRQHandler
+ .thumb_set EXTI2_IRQHandler,Default_Handler
+
+ .weak EXTI3_IRQHandler
+ .thumb_set EXTI3_IRQHandler,Default_Handler
+
+ .weak EXTI4_IRQHandler
+ .thumb_set EXTI4_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel1_IRQHandler
+ .thumb_set DMA1_Channel1_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel2_IRQHandler
+ .thumb_set DMA1_Channel2_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel3_IRQHandler
+ .thumb_set DMA1_Channel3_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel4_IRQHandler
+ .thumb_set DMA1_Channel4_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel5_IRQHandler
+ .thumb_set DMA1_Channel5_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel6_IRQHandler
+ .thumb_set DMA1_Channel6_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel7_IRQHandler
+ .thumb_set DMA1_Channel7_IRQHandler,Default_Handler
+
+ .weak ADC1_IRQHandler
+ .thumb_set ADC1_IRQHandler,Default_Handler
+
+ .weak CAN1_TX_IRQHandler
+ .thumb_set CAN1_TX_IRQHandler,Default_Handler
+
+ .weak CAN1_RX0_IRQHandler
+ .thumb_set CAN1_RX0_IRQHandler,Default_Handler
+
+ .weak CAN1_RX1_IRQHandler
+ .thumb_set CAN1_RX1_IRQHandler,Default_Handler
+
+ .weak CAN1_SCE_IRQHandler
+ .thumb_set CAN1_SCE_IRQHandler,Default_Handler
+
+ .weak EXTI9_5_IRQHandler
+ .thumb_set EXTI9_5_IRQHandler,Default_Handler
+
+ .weak TIM1_BRK_TIM15_IRQHandler
+ .thumb_set TIM1_BRK_TIM15_IRQHandler,Default_Handler
+
+ .weak TIM1_UP_TIM16_IRQHandler
+ .thumb_set TIM1_UP_TIM16_IRQHandler,Default_Handler
+
+ .weak TIM1_TRG_COM_IRQHandler
+ .thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler
+
+ .weak TIM1_CC_IRQHandler
+ .thumb_set TIM1_CC_IRQHandler,Default_Handler
+
+ .weak TIM2_IRQHandler
+ .thumb_set TIM2_IRQHandler,Default_Handler
+
+ .weak TIM3_IRQHandler
+ .thumb_set TIM3_IRQHandler,Default_Handler
+
+ .weak I2C1_EV_IRQHandler
+ .thumb_set I2C1_EV_IRQHandler,Default_Handler
+
+ .weak I2C1_ER_IRQHandler
+ .thumb_set I2C1_ER_IRQHandler,Default_Handler
+
+ .weak I2C2_EV_IRQHandler
+ .thumb_set I2C2_EV_IRQHandler,Default_Handler
+
+ .weak I2C2_ER_IRQHandler
+ .thumb_set I2C2_ER_IRQHandler,Default_Handler
+
+ .weak SPI1_IRQHandler
+ .thumb_set SPI1_IRQHandler,Default_Handler
+
+ .weak SPI2_IRQHandler
+ .thumb_set SPI2_IRQHandler,Default_Handler
+
+ .weak USART1_IRQHandler
+ .thumb_set USART1_IRQHandler,Default_Handler
+
+ .weak USART2_IRQHandler
+ .thumb_set USART2_IRQHandler,Default_Handler
+
+ .weak USART3_IRQHandler
+ .thumb_set USART3_IRQHandler,Default_Handler
+
+ .weak EXTI15_10_IRQHandler
+ .thumb_set EXTI15_10_IRQHandler,Default_Handler
+
+ .weak RTC_Alarm_IRQHandler
+ .thumb_set RTC_Alarm_IRQHandler,Default_Handler
+
+ .weak SDMMC1_IRQHandler
+ .thumb_set SDMMC1_IRQHandler,Default_Handler
+
+ .weak SPI3_IRQHandler
+ .thumb_set SPI3_IRQHandler,Default_Handler
+
+ .weak UART4_IRQHandler
+ .thumb_set UART4_IRQHandler,Default_Handler
+
+ .weak TIM6_DAC_IRQHandler
+ .thumb_set TIM6_DAC_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel1_IRQHandler
+ .thumb_set DMA2_Channel1_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel2_IRQHandler
+ .thumb_set DMA2_Channel2_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel3_IRQHandler
+ .thumb_set DMA2_Channel3_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel4_IRQHandler
+ .thumb_set DMA2_Channel4_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel5_IRQHandler
+ .thumb_set DMA2_Channel5_IRQHandler,Default_Handler
+
+ .weak DFSDM1_FLT0_IRQHandler
+ .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler
+
+ .weak DFSDM1_FLT1_IRQHandler
+ .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler
+
+ .weak COMP_IRQHandler
+ .thumb_set COMP_IRQHandler,Default_Handler
+
+ .weak LPTIM1_IRQHandler
+ .thumb_set LPTIM1_IRQHandler,Default_Handler
+
+ .weak LPTIM2_IRQHandler
+ .thumb_set LPTIM2_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel6_IRQHandler
+ .thumb_set DMA2_Channel6_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel7_IRQHandler
+ .thumb_set DMA2_Channel7_IRQHandler,Default_Handler
+
+ .weak LPUART1_IRQHandler
+ .thumb_set LPUART1_IRQHandler,Default_Handler
+
+ .weak QUADSPI_IRQHandler
+ .thumb_set QUADSPI_IRQHandler,Default_Handler
+
+ .weak I2C3_EV_IRQHandler
+ .thumb_set I2C3_EV_IRQHandler,Default_Handler
+
+ .weak I2C3_ER_IRQHandler
+ .thumb_set I2C3_ER_IRQHandler,Default_Handler
+
+ .weak SAI1_IRQHandler
+ .thumb_set SAI1_IRQHandler,Default_Handler
+
+ .weak TSC_IRQHandler
+ .thumb_set TSC_IRQHandler,Default_Handler
+
+ .weak RNG_IRQHandler
+ .thumb_set RNG_IRQHandler,Default_Handler
+
+ .weak FPU_IRQHandler
+ .thumb_set FPU_IRQHandler,Default_Handler
+
+ .weak CRS_IRQHandler
+ .thumb_set CRS_IRQHandler,Default_Handler
+
+ .weak I2C4_EV_IRQHandler
+ .thumb_set I2C4_EV_IRQHandler,Default_Handler
+
+ .weak I2C4_ER_IRQHandler
+ .thumb_set I2C4_ER_IRQHandler,Default_Handler
+
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/ADF7030.d b/STM32Project/Spino_bringup/Debug/Core/Src/ADF7030.d
new file mode 100644
index 0000000000000000000000000000000000000000..a7f770ce4f2becba32f37882de39b58a3803bd8b
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/ADF7030.d
@@ -0,0 +1,64 @@
+Core/Src/ADF7030.o: ../Core/Src/ADF7030.c ../Core/Inc/main.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h \
+ ../Core/Src/first_conf_200bytes.cfg
+../Core/Inc/main.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
+../Core/Src/first_conf_200bytes.cfg:
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/ADF7030.o b/STM32Project/Spino_bringup/Debug/Core/Src/ADF7030.o
new file mode 100644
index 0000000000000000000000000000000000000000..77e4503bab3aef78c59fde157df721a859dcd56b
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Core/Src/ADF7030.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/ADF7030.su b/STM32Project/Spino_bringup/Debug/Core/Src/ADF7030.su
new file mode 100644
index 0000000000000000000000000000000000000000..d9a5669db38eee6e82cb0637a2cf75f68b0e0ee0
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/ADF7030.su
@@ -0,0 +1,12 @@
+../Core/Src/ADF7030.c:80:6:SPI_Write 24 static
+../Core/Src/ADF7030.c:88:6:SPI_ReadWrite 32 static
+../Core/Src/ADF7030.c:96:6:adf_check_ready 16 static
+../Core/Src/ADF7030.c:106:10:adf_read_reg 48 static
+../Core/Src/ADF7030.c:133:6:adf_write_reg 32 static
+../Core/Src/ADF7030.c:153:6:adf_conf_pin 24 static
+../Core/Src/ADF7030.c:168:6:adf_test_cw_mode 16 static
+../Core/Src/ADF7030.c:193:6:adf_test_cw_off 16 static
+../Core/Src/ADF7030.c:212:9:adf_send_confblob 24 static
+../Core/Src/ADF7030.c:245:6:config_ADF7030 16 static
+../Core/Src/ADF7030.c:290:9:adf_get_status 24 static
+../Core/Src/ADF7030.c:302:6:adf_tx_data 24 static
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/SI4463.d b/STM32Project/Spino_bringup/Debug/Core/Src/SI4463.d
new file mode 100644
index 0000000000000000000000000000000000000000..c274c73447c00acb9e9ef111d2deba353bcb2f63
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/SI4463.d
@@ -0,0 +1,67 @@
+Core/Src/SI4463.o: ../Core/Src/SI4463.c ../Core/Inc/SI4463.h \
+ ../Core/Inc/radio_config.h ../Core/Inc/si446x_patch.h \
+ ../Core/Inc/si446x_cmd.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Core/Inc/SI4463.h:
+../Core/Inc/radio_config.h:
+../Core/Inc/si446x_patch.h:
+../Core/Inc/si446x_cmd.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/SI4463.o b/STM32Project/Spino_bringup/Debug/Core/Src/SI4463.o
new file mode 100644
index 0000000000000000000000000000000000000000..76ddd6fdc28c161c4238802b250fea42c83fcab1
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Core/Src/SI4463.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/SI4463.su b/STM32Project/Spino_bringup/Debug/Core/Src/SI4463.su
new file mode 100644
index 0000000000000000000000000000000000000000..bcb8ea840f55915a4b8111da3071163f9e52fa5c
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/SI4463.su
@@ -0,0 +1,13 @@
+../Core/Src/SI4463.c:12:6:radio_comm_SendCmd 24 static
+../Core/Src/SI4463.c:20:9:radio_comm_GetResp 80 dynamic
+../Core/Src/SI4463.c:49:9:radio_comm_SendCmdGetResp 24 static
+../Core/Src/SI4463.c:59:9:si446x_poll_cts 24 static
+../Core/Src/SI4463.c:75:9:config_si4463 32 static
+../Core/Src/SI4463.c:93:6:si446x_power_up 24 static
+../Core/Src/SI4463.c:108:9:si446x_part_info 24 static
+../Core/Src/SI4463.c:128:6:si446x_get_int_status 32 static
+../Core/Src/SI4463.c:154:6:si446x_gpio_pin_cfg 40 static
+../Core/Src/SI4463.c:178:6:si446x_start_rx 32 static
+../Core/Src/SI4463.c:193:6:reset_si4463 8 static
+../Core/Src/SI4463.c:199:6:power_vhf 16 static
+../Core/Src/SI4463.c:209:6:init_rx_irq 4 static
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/main.d b/STM32Project/Spino_bringup/Debug/Core/Src/main.d
new file mode 100644
index 0000000000000000000000000000000000000000..3dc95581e5d027148be3cf0186d50ad28490f978
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/main.d
@@ -0,0 +1,68 @@
+Core/Src/main.o: ../Core/Src/main.c ../Core/Inc/main.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h \
+ ../Core/Inc/SI4463.h ../Core/Inc/radio_config.h \
+ ../Core/Inc/si446x_patch.h ../Core/Inc/si446x_cmd.h
+../Core/Inc/main.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
+../Core/Inc/SI4463.h:
+../Core/Inc/radio_config.h:
+../Core/Inc/si446x_patch.h:
+../Core/Inc/si446x_cmd.h:
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/main.o b/STM32Project/Spino_bringup/Debug/Core/Src/main.o
new file mode 100644
index 0000000000000000000000000000000000000000..f2aa90ce9f2b0c9119eb74002c676ec18f1ad667
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Core/Src/main.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/main.su b/STM32Project/Spino_bringup/Debug/Core/Src/main.su
new file mode 100644
index 0000000000000000000000000000000000000000..6377ff09781435ccdff611e9c3c632e0a308de07
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/main.su
@@ -0,0 +1,15 @@
+../Drivers/CMSIS/Include/core_cm4.h:1933:34:__NVIC_SystemReset 4 static,ignoring_inline_asm
+../Core/Src/main.c:76:5:main 24 static
+../Core/Src/main.c:182:6:SystemClock_Config 96 static
+../Core/Src/main.c:231:13:MX_I2C1_Init 8 static
+../Core/Src/main.c:279:13:MX_I2C4_Init 8 static
+../Core/Src/main.c:327:13:MX_SPI1_Init 8 static
+../Core/Src/main.c:367:13:MX_SPI2_Init 8 static
+../Core/Src/main.c:407:13:MX_USART1_UART_Init 8 static
+../Core/Src/main.c:442:13:MX_GPIO_Init 56 static
+../Core/Src/main.c:527:6:Error_Handler 8 static,ignoring_inline_asm
+../Core/Src/main.c:541:6:HAL_I2C_SlaveTxCpltCallback 16 static
+../Core/Src/main.c:549:6:HAL_I2C_SlaveRxCpltCallback 16 static
+../Core/Src/main.c:557:6:HAL_I2C_AddrCallback 24 static
+../Core/Src/main.c:578:6:HAL_I2C_ListenCpltCallback 16 static
+../Core/Src/main.c:591:6:HAL_I2C_ErrorCallback 16 static
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_hal_msp.d b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_hal_msp.d
new file mode 100644
index 0000000000000000000000000000000000000000..0cf8df6ee5c7c862d027d5995439dc7b04145e97
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_hal_msp.d
@@ -0,0 +1,62 @@
+Core/Src/stm32l4xx_hal_msp.o: ../Core/Src/stm32l4xx_hal_msp.c \
+ ../Core/Inc/main.h ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Core/Inc/main.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_hal_msp.o b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_hal_msp.o
new file mode 100644
index 0000000000000000000000000000000000000000..3fa275334342de1f572e42afa9f4c05e190d00d3
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_hal_msp.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_hal_msp.su b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_hal_msp.su
new file mode 100644
index 0000000000000000000000000000000000000000..d5842393a10f5f79c25dce2fe1d066596d570e61
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_hal_msp.su
@@ -0,0 +1,7 @@
+../Core/Src/stm32l4xx_hal_msp.c:63:6:HAL_MspInit 16 static
+../Core/Src/stm32l4xx_hal_msp.c:85:6:HAL_I2C_MspInit 152 static
+../Core/Src/stm32l4xx_hal_msp.c:167:6:HAL_I2C_MspDeInit 16 static
+../Core/Src/stm32l4xx_hal_msp.c:220:6:HAL_SPI_MspInit 56 static
+../Core/Src/stm32l4xx_hal_msp.c:282:6:HAL_SPI_MspDeInit 16 static
+../Core/Src/stm32l4xx_hal_msp.c:331:6:HAL_UART_MspInit 144 static
+../Core/Src/stm32l4xx_hal_msp.c:378:6:HAL_UART_MspDeInit 16 static
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_it.d b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_it.d
new file mode 100644
index 0000000000000000000000000000000000000000..b061e1f87296baa6c9c8128f25fe5daabbff9810
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_it.d
@@ -0,0 +1,64 @@
+Core/Src/stm32l4xx_it.o: ../Core/Src/stm32l4xx_it.c ../Core/Inc/main.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h \
+ ../Core/Inc/stm32l4xx_it.h
+../Core/Inc/main.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
+../Core/Inc/stm32l4xx_it.h:
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_it.o b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_it.o
new file mode 100644
index 0000000000000000000000000000000000000000..a7df55bba01ee763527456a00603de6b0778933c
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_it.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_it.su b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_it.su
new file mode 100644
index 0000000000000000000000000000000000000000..0c234f30c62bb333a05efdc79b6aeb1ea0097f0e
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/stm32l4xx_it.su
@@ -0,0 +1,10 @@
+../Core/Src/stm32l4xx_it.c:69:6:NMI_Handler 4 static
+../Core/Src/stm32l4xx_it.c:84:6:HardFault_Handler 4 static
+../Core/Src/stm32l4xx_it.c:99:6:MemManage_Handler 4 static
+../Core/Src/stm32l4xx_it.c:114:6:BusFault_Handler 4 static
+../Core/Src/stm32l4xx_it.c:129:6:UsageFault_Handler 4 static
+../Core/Src/stm32l4xx_it.c:144:6:SVC_Handler 4 static
+../Core/Src/stm32l4xx_it.c:157:6:DebugMon_Handler 4 static
+../Core/Src/stm32l4xx_it.c:170:6:PendSV_Handler 4 static
+../Core/Src/stm32l4xx_it.c:183:6:SysTick_Handler 8 static
+../Core/Src/stm32l4xx_it.c:204:6:I2C1_EV_IRQHandler 8 static
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/subdir.mk b/STM32Project/Spino_bringup/Debug/Core/Src/subdir.mk
new file mode 100644
index 0000000000000000000000000000000000000000..f3d60d3f5a43267522f00c7b6b7a82ac08397ea7
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/subdir.mk
@@ -0,0 +1,48 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+# Toolchain: GNU Tools for STM32 (10.3-2021.10)
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../Core/Src/ADF7030.c \
+../Core/Src/SI4463.c \
+../Core/Src/main.c \
+../Core/Src/stm32l4xx_hal_msp.c \
+../Core/Src/stm32l4xx_it.c \
+../Core/Src/syscalls.c \
+../Core/Src/sysmem.c \
+../Core/Src/system_stm32l4xx.c
+
+OBJS += \
+./Core/Src/ADF7030.o \
+./Core/Src/SI4463.o \
+./Core/Src/main.o \
+./Core/Src/stm32l4xx_hal_msp.o \
+./Core/Src/stm32l4xx_it.o \
+./Core/Src/syscalls.o \
+./Core/Src/sysmem.o \
+./Core/Src/system_stm32l4xx.o
+
+C_DEPS += \
+./Core/Src/ADF7030.d \
+./Core/Src/SI4463.d \
+./Core/Src/main.d \
+./Core/Src/stm32l4xx_hal_msp.d \
+./Core/Src/stm32l4xx_it.d \
+./Core/Src/syscalls.d \
+./Core/Src/sysmem.d \
+./Core/Src/system_stm32l4xx.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+Core/Src/%.o Core/Src/%.su: ../Core/Src/%.c Core/Src/subdir.mk
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L451xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
+
+clean: clean-Core-2f-Src
+
+clean-Core-2f-Src:
+ -$(RM) ./Core/Src/ADF7030.d ./Core/Src/ADF7030.o ./Core/Src/ADF7030.su ./Core/Src/SI4463.d ./Core/Src/SI4463.o ./Core/Src/SI4463.su ./Core/Src/main.d ./Core/Src/main.o ./Core/Src/main.su ./Core/Src/stm32l4xx_hal_msp.d ./Core/Src/stm32l4xx_hal_msp.o ./Core/Src/stm32l4xx_hal_msp.su ./Core/Src/stm32l4xx_it.d ./Core/Src/stm32l4xx_it.o ./Core/Src/stm32l4xx_it.su ./Core/Src/syscalls.d ./Core/Src/syscalls.o ./Core/Src/syscalls.su ./Core/Src/sysmem.d ./Core/Src/sysmem.o ./Core/Src/sysmem.su ./Core/Src/system_stm32l4xx.d ./Core/Src/system_stm32l4xx.o ./Core/Src/system_stm32l4xx.su
+
+.PHONY: clean-Core-2f-Src
+
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/syscalls.d b/STM32Project/Spino_bringup/Debug/Core/Src/syscalls.d
new file mode 100644
index 0000000000000000000000000000000000000000..8667c7088e17e4d2ff09a5767472c8950dd307dd
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/syscalls.d
@@ -0,0 +1 @@
+Core/Src/syscalls.o: ../Core/Src/syscalls.c
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/syscalls.o b/STM32Project/Spino_bringup/Debug/Core/Src/syscalls.o
new file mode 100644
index 0000000000000000000000000000000000000000..f0dbd9483cecf1964380c7250d64fc4b0bc7fb72
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Core/Src/syscalls.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/syscalls.su b/STM32Project/Spino_bringup/Debug/Core/Src/syscalls.su
new file mode 100644
index 0000000000000000000000000000000000000000..a7d10e5be83ed810edbcc8a344986a1631ea236c
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/syscalls.su
@@ -0,0 +1,18 @@
+../Core/Src/syscalls.c:44:6:initialise_monitor_handles 4 static
+../Core/Src/syscalls.c:48:5:_getpid 4 static
+../Core/Src/syscalls.c:53:5:_kill 16 static
+../Core/Src/syscalls.c:59:6:_exit 16 static
+../Core/Src/syscalls.c:65:27:_read 32 static
+../Core/Src/syscalls.c:77:27:_write 32 static
+../Core/Src/syscalls.c:88:5:_close 16 static
+../Core/Src/syscalls.c:94:5:_fstat 16 static
+../Core/Src/syscalls.c:100:5:_isatty 16 static
+../Core/Src/syscalls.c:105:5:_lseek 24 static
+../Core/Src/syscalls.c:110:5:_open 12 static
+../Core/Src/syscalls.c:116:5:_wait 16 static
+../Core/Src/syscalls.c:122:5:_unlink 16 static
+../Core/Src/syscalls.c:128:5:_times 16 static
+../Core/Src/syscalls.c:133:5:_stat 16 static
+../Core/Src/syscalls.c:139:5:_link 16 static
+../Core/Src/syscalls.c:145:5:_fork 8 static
+../Core/Src/syscalls.c:151:5:_execve 24 static
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/sysmem.d b/STM32Project/Spino_bringup/Debug/Core/Src/sysmem.d
new file mode 100644
index 0000000000000000000000000000000000000000..74fecf9bbd2ee3a0f3eb51d9c593580cb8075fa2
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/sysmem.d
@@ -0,0 +1 @@
+Core/Src/sysmem.o: ../Core/Src/sysmem.c
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/sysmem.o b/STM32Project/Spino_bringup/Debug/Core/Src/sysmem.o
new file mode 100644
index 0000000000000000000000000000000000000000..8c0f760a103af455d9a3270828b11a65f50fd5c0
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Core/Src/sysmem.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/sysmem.su b/STM32Project/Spino_bringup/Debug/Core/Src/sysmem.su
new file mode 100644
index 0000000000000000000000000000000000000000..12d5f17720e96b8a37ebbf516fdf5627f8f9b754
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/sysmem.su
@@ -0,0 +1 @@
+../Core/Src/sysmem.c:53:7:_sbrk 32 static
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/system_stm32l4xx.d b/STM32Project/Spino_bringup/Debug/Core/Src/system_stm32l4xx.d
new file mode 100644
index 0000000000000000000000000000000000000000..3f87d932a3af892ec28ddc7ca9d11c067445713f
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/system_stm32l4xx.d
@@ -0,0 +1,61 @@
+Core/Src/system_stm32l4xx.o: ../Core/Src/system_stm32l4xx.c \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/system_stm32l4xx.o b/STM32Project/Spino_bringup/Debug/Core/Src/system_stm32l4xx.o
new file mode 100644
index 0000000000000000000000000000000000000000..58437f1de9edd1f620b44b7df8740798df22f5f9
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Core/Src/system_stm32l4xx.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Core/Src/system_stm32l4xx.su b/STM32Project/Spino_bringup/Debug/Core/Src/system_stm32l4xx.su
new file mode 100644
index 0000000000000000000000000000000000000000..20388ef2a53c5474c217ef2188d0ffdfb6eee3d6
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Src/system_stm32l4xx.su
@@ -0,0 +1,2 @@
+../Core/Src/system_stm32l4xx.c:197:6:SystemInit 4 static
+../Core/Src/system_stm32l4xx.c:251:6:SystemCoreClockUpdate 32 static
diff --git a/STM32Project/Spino_bringup/Debug/Core/Startup/startup_stm32l451vcix.d b/STM32Project/Spino_bringup/Debug/Core/Startup/startup_stm32l451vcix.d
new file mode 100644
index 0000000000000000000000000000000000000000..9195eab8af0f67f997d1203c828b1003b369271b
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Startup/startup_stm32l451vcix.d
@@ -0,0 +1,2 @@
+Core/Startup/startup_stm32l451vcix.o: \
+ ../Core/Startup/startup_stm32l451vcix.s
diff --git a/STM32Project/Spino_bringup/Debug/Core/Startup/startup_stm32l451vcix.o b/STM32Project/Spino_bringup/Debug/Core/Startup/startup_stm32l451vcix.o
new file mode 100644
index 0000000000000000000000000000000000000000..ae6caad3bc738631c16cfb5b0877c95a2c12daff
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Core/Startup/startup_stm32l451vcix.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Core/Startup/subdir.mk b/STM32Project/Spino_bringup/Debug/Core/Startup/subdir.mk
new file mode 100644
index 0000000000000000000000000000000000000000..24abd64cdb071397226ca325b06049a1db343c07
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Core/Startup/subdir.mk
@@ -0,0 +1,27 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+# Toolchain: GNU Tools for STM32 (10.3-2021.10)
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+S_SRCS += \
+../Core/Startup/startup_stm32l451vcix.s
+
+OBJS += \
+./Core/Startup/startup_stm32l451vcix.o
+
+S_DEPS += \
+./Core/Startup/startup_stm32l451vcix.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+Core/Startup/%.o: ../Core/Startup/%.s Core/Startup/subdir.mk
+ arm-none-eabi-gcc -mcpu=cortex-m4 -g3 -DDEBUG -c -x assembler-with-cpp -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" "$<"
+
+clean: clean-Core-2f-Startup
+
+clean-Core-2f-Startup:
+ -$(RM) ./Core/Startup/startup_stm32l451vcix.d ./Core/Startup/startup_stm32l451vcix.o
+
+.PHONY: clean-Core-2f-Startup
+
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d
new file mode 100644
index 0000000000000000000000000000000000000000..fa17039194cb1433cd0b6c1d88e0bc52f38ecf12
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o
new file mode 100644
index 0000000000000000000000000000000000000000..39c04ac22f9e7cb2d2df65cdceb423854911cf82
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.su
new file mode 100644
index 0000000000000000000000000000000000000000..d66f2c98fd91228905beef01e903201f1b74f8a3
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.su
@@ -0,0 +1,35 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:152:19:HAL_Init 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:196:19:HAL_DeInit 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:225:13:HAL_MspInit 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:236:13:HAL_MspDeInit 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:259:26:HAL_InitTick 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:327:13:HAL_IncTick 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:338:17:HAL_GetTick 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:347:10:HAL_GetTickPrio 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:357:19:HAL_SetTickFreq 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:386:21:HAL_GetTickFreq 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:402:13:HAL_Delay 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:428:13:HAL_SuspendTick 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:444:13:HAL_ResumeTick 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:454:10:HAL_GetHalVersion 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:463:10:HAL_GetREVID 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:472:10:HAL_GetDEVID 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:481:10:HAL_GetUIDw0 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:490:10:HAL_GetUIDw1 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:499:10:HAL_GetUIDw2 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:528:6:HAL_DBGMCU_EnableDBGSleepMode 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:537:6:HAL_DBGMCU_DisableDBGSleepMode 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:546:6:HAL_DBGMCU_EnableDBGStopMode 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:555:6:HAL_DBGMCU_DisableDBGStopMode 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:564:6:HAL_DBGMCU_EnableDBGStandbyMode 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:573:6:HAL_DBGMCU_DisableDBGStandbyMode 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:606:6:HAL_SYSCFG_SRAM2Erase 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:625:6:HAL_SYSCFG_EnableMemorySwappingBank 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:640:6:HAL_SYSCFG_DisableMemorySwappingBank 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:657:6:HAL_SYSCFG_VREFBUF_VoltageScalingConfig 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:673:6:HAL_SYSCFG_VREFBUF_HighImpedanceConfig 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:685:6:HAL_SYSCFG_VREFBUF_TrimmingConfig 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:697:19:HAL_SYSCFG_EnableVREFBUF 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:723:6:HAL_SYSCFG_DisableVREFBUF 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:734:6:HAL_SYSCFG_EnableIOAnalogSwitchBooster 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:744:6:HAL_SYSCFG_DisableIOAnalogSwitchBooster 4 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.d
new file mode 100644
index 0000000000000000000000000000000000000000..7ed3ec9b3153d4666b558946989c8952aa05cf65
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.o
new file mode 100644
index 0000000000000000000000000000000000000000..832853656ab8b6b02b582886b48785992b2bfa55
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.su
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d
new file mode 100644
index 0000000000000000000000000000000000000000..cd8ad6675ab40078471cd1a3bf934fee9080c4de
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o
new file mode 100644
index 0000000000000000000000000000000000000000..dad924b91172e6e407b059461a7538df304b40f1
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.su
new file mode 100644
index 0000000000000000000000000000000000000000..62f52109579b21c01943db99c0ce65c844512c47
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.su
@@ -0,0 +1,32 @@
+../Drivers/CMSIS/Include/core_cm4.h:1648:22:__NVIC_SetPriorityGrouping 24 static
+../Drivers/CMSIS/Include/core_cm4.h:1667:26:__NVIC_GetPriorityGrouping 4 static
+../Drivers/CMSIS/Include/core_cm4.h:1679:22:__NVIC_EnableIRQ 16 static,ignoring_inline_asm
+../Drivers/CMSIS/Include/core_cm4.h:1717:22:__NVIC_DisableIRQ 16 static,ignoring_inline_asm
+../Drivers/CMSIS/Include/core_cm4.h:1736:26:__NVIC_GetPendingIRQ 16 static
+../Drivers/CMSIS/Include/core_cm4.h:1755:22:__NVIC_SetPendingIRQ 16 static
+../Drivers/CMSIS/Include/core_cm4.h:1770:22:__NVIC_ClearPendingIRQ 16 static
+../Drivers/CMSIS/Include/core_cm4.h:1787:26:__NVIC_GetActive 16 static
+../Drivers/CMSIS/Include/core_cm4.h:1809:22:__NVIC_SetPriority 16 static
+../Drivers/CMSIS/Include/core_cm4.h:1831:26:__NVIC_GetPriority 16 static
+../Drivers/CMSIS/Include/core_cm4.h:1856:26:NVIC_EncodePriority 40 static
+../Drivers/CMSIS/Include/core_cm4.h:1883:22:NVIC_DecodePriority 40 static
+../Drivers/CMSIS/Include/core_cm4.h:1933:34:__NVIC_SystemReset 4 static,ignoring_inline_asm
+../Drivers/CMSIS/Include/core_cm4.h:2017:26:SysTick_Config 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:163:6:HAL_NVIC_SetPriorityGrouping 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:185:6:HAL_NVIC_SetPriority 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:207:6:HAL_NVIC_EnableIRQ 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:223:6:HAL_NVIC_DisableIRQ 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:236:6:HAL_NVIC_SystemReset 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:249:10:HAL_SYSTICK_Config 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:277:10:HAL_NVIC_GetPriorityGrouping 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:304:6:HAL_NVIC_GetPriority 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:319:6:HAL_NVIC_SetPendingIRQ 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:337:10:HAL_NVIC_GetPendingIRQ 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:353:6:HAL_NVIC_ClearPendingIRQ 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:370:10:HAL_NVIC_GetActive 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:384:6:HAL_SYSTICK_CLKSourceConfig 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:402:6:HAL_SYSTICK_IRQHandler 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:411:13:HAL_SYSTICK_Callback 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:430:6:HAL_MPU_Enable 16 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:445:6:HAL_MPU_Disable 4 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:461:6:HAL_MPU_ConfigRegion 16 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d
new file mode 100644
index 0000000000000000000000000000000000000000..6c7f01b165cc0535d3376e7d08a93b599a6ed1cb
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o
new file mode 100644
index 0000000000000000000000000000000000000000..2567b5234e19016212c9522ed6f54d6ffc32d4f0
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.su
new file mode 100644
index 0000000000000000000000000000000000000000..f8d3944f19e65a980bd33cef75400c4f22b94a45
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.su
@@ -0,0 +1,13 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:154:19:HAL_DMA_Init 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:295:19:HAL_DMA_DeInit 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:431:19:HAL_DMA_Start 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:474:19:HAL_DMA_Start_IT 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:547:19:HAL_DMA_Abort 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:609:19:HAL_DMA_Abort_IT 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:676:19:HAL_DMA_PollForTransfer 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:806:6:HAL_DMA_IRQHandler 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:902:19:HAL_DMA_RegisterCallback 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:953:19:HAL_DMA_UnRegisterCallback 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:1031:22:HAL_DMA_GetState 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:1043:10:HAL_DMA_GetError 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:1069:13:DMA_SetConfig 24 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d
new file mode 100644
index 0000000000000000000000000000000000000000..7165afeb92d9bde8ebc618f844e28411be69fe89
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o
new file mode 100644
index 0000000000000000000000000000000000000000..c8ddf3c607f218d86e7bf0fd7add6451f1e60e76
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.su
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d
new file mode 100644
index 0000000000000000000000000000000000000000..76406eb26c2a89804de1dcad87cb14c4374e7df0
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o
new file mode 100644
index 0000000000000000000000000000000000000000..5c92b29beb928e629ecc7ce5993671dbc768aa1f
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.su
new file mode 100644
index 0000000000000000000000000000000000000000..9568fc92b053b1757f252f27af927f1925884533
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.su
@@ -0,0 +1,9 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:143:19:HAL_EXTI_SetConfigLine 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:268:19:HAL_EXTI_GetConfigLine 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:362:19:HAL_EXTI_ClearConfigLine 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:428:19:HAL_EXTI_RegisterCallback 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:454:19:HAL_EXTI_GetHandle 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:495:6:HAL_EXTI_IRQHandler 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:533:10:HAL_EXTI_GetPending 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:569:6:HAL_EXTI_ClearPending 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:597:6:HAL_EXTI_GenerateSWI 32 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d
new file mode 100644
index 0000000000000000000000000000000000000000..57cf0ac1ac502ed96d12fcf0690b0584fc92b5bf
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o
new file mode 100644
index 0000000000000000000000000000000000000000..6703f3707526c542e2a5926b2074b7ab2da2a0d9
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.su
new file mode 100644
index 0000000000000000000000000000000000000000..f65fa52205601e9bc38fc047684795b340b6db25
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.su
@@ -0,0 +1,14 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:169:19:HAL_FLASH_Program 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:251:19:HAL_FLASH_Program_IT 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:311:6:HAL_FLASH_IRQHandler 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:454:13:HAL_FLASH_EndOfOperationCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:472:13:HAL_FLASH_OperationErrorCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:505:19:HAL_FLASH_Unlock 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:529:19:HAL_FLASH_Lock 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:541:19:HAL_FLASH_OB_Unlock 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:561:19:HAL_FLASH_OB_Lock 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:573:19:HAL_FLASH_OB_Launch 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:622:10:HAL_FLASH_GetError 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:646:19:FLASH_WaitForLastOperation 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:696:13:FLASH_Program_DoubleWord 24 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:721:13:FLASH_Program_Fast 40 static,ignoring_inline_asm
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d
new file mode 100644
index 0000000000000000000000000000000000000000..f43bc9388b9e3f31c5624713dbcb235ef1ab5386
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o
new file mode 100644
index 0000000000000000000000000000000000000000..4fec5c8714b3c9ddb02a5a92eb5df46044de78cb
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.su
new file mode 100644
index 0000000000000000000000000000000000000000..325086f64417a13d7774e0e8a2c696de68a91cc8
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.su
@@ -0,0 +1,15 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:125:19:HAL_FLASHEx_Erase 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:228:19:HAL_FLASHEx_Erase_IT 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:297:19:HAL_FLASHEx_OBProgram 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:368:6:HAL_FLASHEx_OBGetConfig 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:504:13:FLASH_MassErase 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:551:6:FLASH_PageErase 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:594:6:FLASH_FlushCaches 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:651:26:FLASH_OB_WRPConfig 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:727:26:FLASH_OB_RDPConfig 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:771:26:FLASH_OB_UserConfig 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:991:26:FLASH_OB_PCROPConfig 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1122:13:FLASH_OB_GetWRP 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1164:17:FLASH_OB_GetRDP 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1190:17:FLASH_OB_GetUser 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1213:13:FLASH_OB_GetPCROP 32 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d
new file mode 100644
index 0000000000000000000000000000000000000000..7c6aa0b2d8a95b06a0a0e8fb972c3b97d35c8f5b
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o
new file mode 100644
index 0000000000000000000000000000000000000000..6c2ca1427f68cbd6479dce1c92b0d335d0a45109
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.su
new file mode 100644
index 0000000000000000000000000000000000000000..42f3cccb6ca825983e6e146dbbe46f0490cd18f9
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.su
@@ -0,0 +1,2 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c:91:30:HAL_FLASHEx_EnableRunPowerDown 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c:105:30:HAL_FLASHEx_DisableRunPowerDown 4 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d
new file mode 100644
index 0000000000000000000000000000000000000000..334d78f696965a5b268d62dbd3a7d9ee05c1f873
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o
new file mode 100644
index 0000000000000000000000000000000000000000..a03063005b5863c61b0c5c606d816ee882a516f5
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.su
new file mode 100644
index 0000000000000000000000000000000000000000..11157452235f3c86e163d14b2ab600572d3b8781
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.su
@@ -0,0 +1,8 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:163:6:HAL_GPIO_Init 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:307:6:HAL_GPIO_DeInit 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:393:15:HAL_GPIO_ReadPin 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:427:6:HAL_GPIO_WritePin 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:449:6:HAL_GPIO_TogglePin 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:474:19:HAL_GPIO_LockPin 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:509:6:HAL_GPIO_EXTI_IRQHandler 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:524:13:HAL_GPIO_EXTI_Callback 16 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d
new file mode 100644
index 0000000000000000000000000000000000000000..27ac8dcc8d93120339b33202d022c812bfba7126
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o
new file mode 100644
index 0000000000000000000000000000000000000000..fb7e5a6cdc468f9b6157c2f75cdcb3fa0159c23b
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.su
new file mode 100644
index 0000000000000000000000000000000000000000..1568ea5889d9b786f15b7b2a486ad8fe5f5cfb8d
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.su
@@ -0,0 +1,81 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:528:19:HAL_I2C_Init 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:638:19:HAL_I2C_DeInit 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:684:13:HAL_I2C_MspInit 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:700:13:HAL_I2C_MspDeInit 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1121:19:HAL_I2C_Master_Transmit 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1240:19:HAL_I2C_Master_Receive 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1358:19:HAL_I2C_Slave_Transmit 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1501:19:HAL_I2C_Slave_Receive 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1631:19:HAL_I2C_Master_Transmit_IT 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1702:19:HAL_I2C_Master_Receive_IT 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1771:19:HAL_I2C_Slave_Transmit_IT 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1821:19:HAL_I2C_Slave_Receive_IT 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1873:19:HAL_I2C_Master_Transmit_DMA 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2020:19:HAL_I2C_Master_Receive_DMA 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2165:19:HAL_I2C_Slave_Transmit_DMA 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2269:19:HAL_I2C_Slave_Receive_DMA 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2377:19:HAL_I2C_Mem_Write 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2514:19:HAL_I2C_Mem_Read 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2651:19:HAL_I2C_Mem_Write_IT 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2738:19:HAL_I2C_Mem_Read_IT 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2824:19:HAL_I2C_Mem_Write_DMA 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2970:19:HAL_I2C_Mem_Read_DMA 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3115:19:HAL_I2C_IsDeviceReady 48 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3257:19:HAL_I2C_Master_Seq_Transmit_IT 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3348:19:HAL_I2C_Master_Seq_Transmit_DMA 48 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3516:19:HAL_I2C_Master_Seq_Receive_IT 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3603:19:HAL_I2C_Master_Seq_Receive_DMA 48 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3769:19:HAL_I2C_Slave_Seq_Transmit_IT 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3865:19:HAL_I2C_Slave_Seq_Transmit_DMA 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4046:19:HAL_I2C_Slave_Seq_Receive_IT 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4142:19:HAL_I2C_Slave_Seq_Receive_DMA 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4319:19:HAL_I2C_EnableListen_IT 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4343:19:HAL_I2C_DisableListen_IT 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4376:19:HAL_I2C_Master_Abort_IT 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4438:6:HAL_I2C_EV_IRQHandler 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4457:6:HAL_I2C_ER_IRQHandler 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4509:13:HAL_I2C_MasterTxCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4525:13:HAL_I2C_MasterRxCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4540:13:HAL_I2C_SlaveTxCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4556:13:HAL_I2C_SlaveRxCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4574:13:HAL_I2C_AddrCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4592:13:HAL_I2C_ListenCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4608:13:HAL_I2C_MemTxCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4624:13:HAL_I2C_MemRxCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4640:13:HAL_I2C_ErrorCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4656:13:HAL_I2C_AbortCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4691:22:HAL_I2C_GetState 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4703:21:HAL_I2C_GetMode 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4714:10:HAL_I2C_GetError 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4739:26:I2C_Master_ISR_IT 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4885:26:I2C_Mem_ISR_IT 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5022:26:I2C_Slave_ISR_IT 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5163:26:I2C_Master_ISR_DMA 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5303:26:I2C_Mem_ISR_DMA 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5442:26:I2C_Slave_ISR_DMA 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5587:26:I2C_RequestMemoryWrite 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5642:26:I2C_RequestMemoryRead 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5691:13:I2C_ITAddrCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5786:13:I2C_ITMasterSeqCplt 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5839:13:I2C_ITSlaveSeqCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5913:13:I2C_ITMasterCplt 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6056:13:I2C_ITSlaveCplt 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6215:13:I2C_ITListenCplt 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6266:13:I2C_ITError 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6378:13:I2C_TreatErrorCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6416:13:I2C_Flush_TXDR 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6437:13:I2C_DMAMasterTransmitCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6487:13:I2C_DMASlaveTransmitCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6515:13:I2C_DMAMasterReceiveCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6565:13:I2C_DMASlaveReceiveCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6593:13:I2C_DMAError 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6611:13:I2C_DMAAbort 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6640:26:I2C_WaitOnFlagUntilTimeout 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6671:26:I2C_WaitOnTXISFlagUntilTimeout 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6709:26:I2C_WaitOnSTOPFlagUntilTimeout 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6744:26:I2C_WaitOnRXNEFlagUntilTimeout 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6817:26:I2C_IsErrorOccurred 48 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6961:13:I2C_TransferConfig 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6988:13:I2C_Enable_IRQ 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7065:13:I2C_Disable_IRQ 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7128:13:I2C_ConvertOtherXferOptions 16 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d
new file mode 100644
index 0000000000000000000000000000000000000000..9abdf4e19100779cb631e9a772f1637298bdeda9
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o
new file mode 100644
index 0000000000000000000000000000000000000000..63cbacbbf3479f8bebd96fa49a44c66b14016f40
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.su
new file mode 100644
index 0000000000000000000000000000000000000000..415666fa2a833ff919501fec2db3d6be73574e9e
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.su
@@ -0,0 +1,6 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:96:19:HAL_I2CEx_ConfigAnalogFilter 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:140:19:HAL_I2CEx_ConfigDigitalFilter 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:208:19:HAL_I2CEx_EnableWakeUp 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:247:19:HAL_I2CEx_DisableWakeUp 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:314:6:HAL_I2CEx_EnableFastModePlus 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:343:6:HAL_I2CEx_DisableFastModePlus 24 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d
new file mode 100644
index 0000000000000000000000000000000000000000..3e7bcce8d3b5eaeaf5c630adfc707c803ef2075e
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o
new file mode 100644
index 0000000000000000000000000000000000000000..5c96be6b0d0c37fd437b37302acc2e72958c1ee8
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.su
new file mode 100644
index 0000000000000000000000000000000000000000..6fa13110599d665eb3e74ded8099c35ca75d35d5
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.su
@@ -0,0 +1,16 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:86:6:HAL_PWR_DeInit 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:104:6:HAL_PWR_EnableBkUpAccess 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:114:6:HAL_PWR_DisableBkUpAccess 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:311:19:HAL_PWR_ConfigPVD 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:357:6:HAL_PWR_EnablePVD 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:366:6:HAL_PWR_DisablePVD 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:391:6:HAL_PWR_EnableWakeUpPin 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:412:6:HAL_PWR_DisableWakeUpPin 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:444:6:HAL_PWR_EnterSLEEPMode 16 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:523:6:HAL_PWR_EnterSTOPMode 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:556:6:HAL_PWR_EnterSTANDBYMode 4 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:582:6:HAL_PWR_EnableSleepOnExit 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:595:6:HAL_PWR_DisableSleepOnExit 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:609:6:HAL_PWR_EnableSEVOnPend 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:622:6:HAL_PWR_DisableSEVOnPend 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:636:13:HAL_PWR_PVDCallback 4 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d
new file mode 100644
index 0000000000000000000000000000000000000000..232d7197069a578e9d6b560ff9878851ebdcb489
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o
new file mode 100644
index 0000000000000000000000000000000000000000..ec4674c9d831016d7ba805b6430ffe9894ce2b34
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.su
new file mode 100644
index 0000000000000000000000000000000000000000..f828d712881df0eab4c1415eac75b8cbb39380f6
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.su
@@ -0,0 +1,29 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:114:10:HAL_PWREx_GetVoltageRange 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:163:19:HAL_PWREx_ControlVoltageScaling 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:282:6:HAL_PWREx_EnableBatteryCharging 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:298:6:HAL_PWREx_DisableBatteryCharging 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:353:6:HAL_PWREx_EnableInternalWakeUpLine 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:363:6:HAL_PWREx_DisableInternalWakeUpLine 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:391:19:HAL_PWREx_EnableGPIOPullUp 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:474:19:HAL_PWREx_DisableGPIOPullUp 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:551:19:HAL_PWREx_EnableGPIOPullDown 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:634:19:HAL_PWREx_DisableGPIOPullDown 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:704:6:HAL_PWREx_EnablePullUpPullDownConfig 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:716:6:HAL_PWREx_DisablePullUpPullDownConfig 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:727:6:HAL_PWREx_EnableSRAM2ContentRetention 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:736:6:HAL_PWREx_DisableSRAM2ContentRetention 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:751:19:HAL_PWREx_SetSRAM2ContentRetention 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:919:6:HAL_PWREx_EnablePVM3 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:928:6:HAL_PWREx_DisablePVM3 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:938:6:HAL_PWREx_EnablePVM4 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:947:6:HAL_PWREx_DisablePVM4 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:967:19:HAL_PWREx_ConfigPVM 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1129:6:HAL_PWREx_EnableLowPowerRunMode 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1144:19:HAL_PWREx_DisableLowPowerRunMode 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1188:6:HAL_PWREx_EnterSTOP0Mode 16 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1239:6:HAL_PWREx_EnterSTOP1Mode 16 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1292:6:HAL_PWREx_EnterSTOP2Mode 16 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1334:6:HAL_PWREx_EnterSHUTDOWNMode 4 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1359:6:HAL_PWREx_PVD_PVM_IRQHandler 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1440:13:HAL_PWREx_PVM3Callback 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1451:13:HAL_PWREx_PVM4Callback 4 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d
new file mode 100644
index 0000000000000000000000000000000000000000..edcc3515d96e87eaaa9fbef154fbd79cd98084ab
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o
new file mode 100644
index 0000000000000000000000000000000000000000..4f83aa1fe6c81e8a84372b2b3e2c6ad8e9b9eae4
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.su
new file mode 100644
index 0000000000000000000000000000000000000000..c9c134b866c85d6bb1ee78886c11d4b5bb49e198
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.su
@@ -0,0 +1,15 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:265:19:HAL_RCC_DeInit 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:403:19:HAL_RCC_OscConfig 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1095:19:HAL_RCC_ClockConfig 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1337:6:HAL_RCC_MCOConfig 48 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1396:10:HAL_RCC_GetSysClockFreq 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1484:10:HAL_RCC_GetHCLKFreq 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1495:10:HAL_RCC_GetPCLK1Freq 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1507:10:HAL_RCC_GetPCLK2Freq 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1520:6:HAL_RCC_GetOscConfig 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1679:6:HAL_RCC_GetClockConfig 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1714:6:HAL_RCC_EnableCSS 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1724:6:HAL_RCC_NMI_IRQHandler 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1741:13:HAL_RCC_CSSCallback 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1755:10:HAL_RCC_GetResetSource 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1785:26:RCC_SetFlashLatencyFromMSIRange 32 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d
new file mode 100644
index 0000000000000000000000000000000000000000..98d20a0106e7ba74bca50827ec98d9cdf9fd6ed9
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o
new file mode 100644
index 0000000000000000000000000000000000000000..b6110ccbf6aece7abf557327fcf8888a6ac596db
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.su
new file mode 100644
index 0000000000000000000000000000000000000000..cc1b963be910e19856b1e48070656d9129e78281
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.su
@@ -0,0 +1,27 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:194:19:HAL_RCCEx_PeriphCLKConfig 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:824:6:HAL_RCCEx_GetPeriphCLKConfig 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:1150:10:HAL_RCCEx_GetPeriphCLKFreq 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2054:19:HAL_RCCEx_EnablePLLSAI1 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2122:19:HAL_RCCEx_DisablePLLSAI1 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2299:6:HAL_RCCEx_WakeUpStopCLKConfig 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2317:6:HAL_RCCEx_StandbyMSIRangeConfig 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2331:6:HAL_RCCEx_EnableLSECSS 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2341:6:HAL_RCCEx_DisableLSECSS 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2354:6:HAL_RCCEx_EnableLSECSS_IT 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2371:6:HAL_RCCEx_LSECSS_IRQHandler 8 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2388:13:HAL_RCCEx_LSECSS_Callback 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2403:6:HAL_RCCEx_EnableLSCO 48 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2450:6:HAL_RCCEx_DisableLSCO 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2488:6:HAL_RCCEx_EnableMSIPLLMode 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2498:6:HAL_RCCEx_DisableMSIPLLMode 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2595:6:HAL_RCCEx_CRSConfig 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2638:6:HAL_RCCEx_CRSSoftwareSynchronizationGenerate 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2648:6:HAL_RCCEx_CRSGetSynchronizationInfo 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2681:10:HAL_RCCEx_CRSWaitSynchronization 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2764:6:HAL_RCCEx_CRS_IRQHandler 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2829:13:HAL_RCCEx_CRS_SyncOkCallback 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2840:13:HAL_RCCEx_CRS_SyncWarnCallback 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2851:13:HAL_RCCEx_CRS_ExpectedSyncCallback 4 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2867:13:HAL_RCCEx_CRS_ErrorCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2903:26:RCCEx_PLLSAI1_Config 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:3305:17:RCCEx_GetSAIxPeriphCLKFreq 40 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.d
new file mode 100644
index 0000000000000000000000000000000000000000..f787ddbfc8cdd0a3e3b7fe8f09b5f7ce510ed279
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o
new file mode 100644
index 0000000000000000000000000000000000000000..c8cca768eb9f449e833579bf175a932cdcad5412
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.su
new file mode 100644
index 0000000000000000000000000000000000000000..0b3ddd36bfbacfda128e1c9da80ae924dc948231
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.su
@@ -0,0 +1,56 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:314:19:HAL_SPI_Init 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:489:19:HAL_SPI_DeInit 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:533:13:HAL_SPI_MspInit 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:549:13:HAL_SPI_MspDeInit 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:821:19:HAL_SPI_Transmit 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:1006:19:HAL_SPI_Receive 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:1246:19:HAL_SPI_TransmitReceive 48 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:1555:19:HAL_SPI_Transmit_IT 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:1640:19:HAL_SPI_Receive_IT 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:1747:19:HAL_SPI_TransmitReceive_IT 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:1856:19:HAL_SPI_Transmit_DMA 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:1981:19:HAL_SPI_Receive_DMA 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2126:19:HAL_SPI_TransmitReceive_DMA 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2318:19:HAL_SPI_Abort 48 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2478:19:HAL_SPI_Abort_IT 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2639:19:HAL_SPI_DMAPause 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2659:19:HAL_SPI_DMAResume 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2679:19:HAL_SPI_DMAStop 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2719:6:HAL_SPI_IRQHandler 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2826:13:HAL_SPI_TxCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2842:13:HAL_SPI_RxCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2858:13:HAL_SPI_TxRxCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2874:13:HAL_SPI_TxHalfCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2890:13:HAL_SPI_RxHalfCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2906:13:HAL_SPI_TxRxHalfCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2922:13:HAL_SPI_ErrorCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2940:13:HAL_SPI_AbortCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2975:22:HAL_SPI_GetState 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:2987:10:HAL_SPI_GetError 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3012:13:SPI_DMATransmitCplt 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3069:13:SPI_DMAReceiveCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3186:13:SPI_DMATransmitReceiveCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3286:13:SPI_DMAHalfTransmitCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3304:13:SPI_DMAHalfReceiveCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3322:13:SPI_DMAHalfTransmitReceiveCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3340:13:SPI_DMAError 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3363:13:SPI_DMAAbortOnError 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3385:13:SPI_DMATxAbortCallback 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3451:13:SPI_DMARxAbortCallback 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3516:13:SPI_2linesRxISR_8BIT 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3601:13:SPI_2linesTxISR_8BIT 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3648:13:SPI_2linesRxISR_16BIT 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3704:13:SPI_2linesTxISR_16BIT 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3769:13:SPI_RxISR_8BIT 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3825:13:SPI_RxISR_16BIT 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3858:13:SPI_TxISR_8BIT 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3883:13:SPI_TxISR_16BIT 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3913:26:SPI_WaitFlagStateUntilTimeout 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:3982:26:SPI_WaitFifoStateUntilTimeout 48 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:4062:26:SPI_EndRxTransaction 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:4098:26:SPI_EndRxTxTransaction 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:4130:13:SPI_CloseRxTx_ISR 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:4207:13:SPI_CloseRx_ISR 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:4264:13:SPI_CloseTx_ISR 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:4313:13:SPI_AbortRx_ISR 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c:4357:13:SPI_AbortTx_ISR 32 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.d
new file mode 100644
index 0000000000000000000000000000000000000000..ec3419f6dae7268976cdff900da75754d0e03185
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o
new file mode 100644
index 0000000000000000000000000000000000000000..eb6b1d2c458b9cbecc15790b91c288fa5028b8d9
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.su
new file mode 100644
index 0000000000000000000000000000000000000000..4069b892780a3e580ea00f8418aecf8ac6a9cf5d
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.su
@@ -0,0 +1 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.c:79:19:HAL_SPIEx_FlushRxFifo 24 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d
new file mode 100644
index 0000000000000000000000000000000000000000..f21f517213bfd1640a9a4ee2bdda3b20e6f2bc60
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o
new file mode 100644
index 0000000000000000000000000000000000000000..24eac300e318df59ca9fa61838e1244e6463a517
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.su
new file mode 100644
index 0000000000000000000000000000000000000000..b0e65bf92b9a785cc2de995fccda0a665d28fb49
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.su
@@ -0,0 +1,66 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:327:19:HAL_UART_Init 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:400:19:HAL_HalfDuplex_Init 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:473:19:HAL_LIN_Init 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:570:19:HAL_MultiProcessor_Init 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:644:19:HAL_UART_DeInit 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:690:13:HAL_UART_MspInit 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:705:13:HAL_UART_MspDeInit 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1149:19:HAL_UART_Transmit 48 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1238:19:HAL_UART_Receive 48 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1324:19:HAL_UART_Transmit_IT 48 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1415:19:HAL_UART_Receive_IT 48 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1458:19:HAL_UART_Transmit_DMA 48 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1534:19:HAL_UART_Receive_DMA 48 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1572:19:HAL_UART_DMAPause 120 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1606:19:HAL_UART_DMAResume 112 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1641:19:HAL_UART_DMAStop 72 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1716:19:HAL_UART_Abort 136 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1827:19:HAL_UART_AbortTransmit 64 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1893:19:HAL_UART_AbortReceive 112 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1967:19:HAL_UART_Abort_IT 144 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2127:19:HAL_UART_AbortTransmit_IT 64 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2224:19:HAL_UART_AbortReceive_IT 112 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2322:6:HAL_UART_IRQHandler 240 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2679:13:HAL_UART_TxCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2694:13:HAL_UART_TxHalfCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2709:13:HAL_UART_RxCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2724:13:HAL_UART_RxHalfCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2739:13:HAL_UART_ErrorCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2754:13:HAL_UART_AbortCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2769:13:HAL_UART_AbortTransmitCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2784:13:HAL_UART_AbortReceiveCpltCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2801:13:HAL_UARTEx_RxEventCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2849:6:HAL_UART_ReceiverTimeout_Config 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2864:19:HAL_UART_EnableReceiverTimeout 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2902:19:HAL_UART_DisableReceiverTimeout 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2940:19:HAL_MultiProcessor_EnableMuteMode 40 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2960:19:HAL_MultiProcessor_DisableMuteMode 40 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2980:6:HAL_MultiProcessor_EnterMuteMode 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2990:19:HAL_HalfDuplex_EnableTransmitter 64 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3013:19:HAL_HalfDuplex_EnableReceiver 64 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3037:19:HAL_LIN_SendBreak 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3082:23:HAL_UART_GetState 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3098:10:HAL_UART_GetError 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3146:19:UART_SetConfig 72 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3401:6:UART_AdvFeatureConfig 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3475:19:UART_CheckIdleState 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3527:19:UART_WaitOnFlagUntilTimeout 120 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3599:19:UART_Start_Receive_IT 96 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3699:19:UART_Start_Receive_DMA 96 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3759:13:UART_EndTxTransfer 40 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3780:13:UART_EndRxTransfer 88 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3811:13:UART_DMATransmitCplt 72 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3845:13:UART_DMATxHalfCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3863:13:UART_DMAReceiveCplt 120 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3920:13:UART_DMARxHalfCplt 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3954:13:UART_DMAError 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3994:13:UART_DMAAbortOnError 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4017:13:UART_DMATxAbortCallback 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4074:13:UART_DMARxAbortCallback 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4126:13:UART_DMATxOnlyAbortCallback 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4161:13:UART_DMARxOnlyAbortCallback 24 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4194:13:UART_TxISR_8BIT 64 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4227:13:UART_TxISR_16BIT 72 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4346:13:UART_EndTransmit_IT 40 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4371:13:UART_RxISR_8BIT 96 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4452:13:UART_RxISR_16BIT 96 static,ignoring_inline_asm
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d
new file mode 100644
index 0000000000000000000000000000000000000000..27372db6175c7595cb15360b493b8d8394354324
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d
@@ -0,0 +1,62 @@
+Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o: \
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
+ ../Core/Inc/stm32l4xx_hal_conf.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h \
+ ../Drivers/CMSIS/Include/core_cm4.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
+ ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
+../Core/Inc/stm32l4xx_hal_conf.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h:
+../Drivers/CMSIS/Include/core_cm4.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
+../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o
new file mode 100644
index 0000000000000000000000000000000000000000..2ebe9a9c2e8b17ac1b80f80b2a24352912969463
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o differ
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.su b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.su
new file mode 100644
index 0000000000000000000000000000000000000000..fbfd7293f111d1e3884e1684f15dd7a8fc2d9990
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.su
@@ -0,0 +1,12 @@
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:170:19:HAL_RS485Ex_Init 32 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:276:13:HAL_UARTEx_WakeupCallback 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:392:19:HAL_UARTEx_EnableClockStopMode 40 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:411:19:HAL_UARTEx_DisableClockStopMode 40 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:439:19:HAL_MultiProcessorEx_AddressLength_Set 16 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:477:19:HAL_UARTEx_StopModeWakeUpSourceConfig 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:532:19:HAL_UARTEx_EnableStopMode 40 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:551:19:HAL_UARTEx_DisableStopMode 40 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:765:19:HAL_UARTEx_ReceiveToIdle 40 static
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:890:19:HAL_UARTEx_ReceiveToIdle_IT 56 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:952:19:HAL_UARTEx_ReceiveToIdle_DMA 56 static,ignoring_inline_asm
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:1015:13:UARTEx_Wakeup_AddressConfig 24 static
diff --git a/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk
new file mode 100644
index 0000000000000000000000000000000000000000..1187acc203ff1dfff58a5d8d0b3556e324fa6ccf
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk
@@ -0,0 +1,84 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+# Toolchain: GNU Tools for STM32 (10.3-2021.10)
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c \
+../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c
+
+OBJS += \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o
+
+C_DEPS += \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d \
+./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+Drivers/STM32L4xx_HAL_Driver/Src/%.o Drivers/STM32L4xx_HAL_Driver/Src/%.su: ../Drivers/STM32L4xx_HAL_Driver/Src/%.c Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L451xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
+
+clean: clean-Drivers-2f-STM32L4xx_HAL_Driver-2f-Src
+
+clean-Drivers-2f-STM32L4xx_HAL_Driver-2f-Src:
+ -$(RM) ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_can.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.su
+
+.PHONY: clean-Drivers-2f-STM32L4xx_HAL_Driver-2f-Src
+
diff --git a/STM32Project/Spino_bringup/Debug/Spino_bringup.elf b/STM32Project/Spino_bringup/Debug/Spino_bringup.elf
new file mode 100755
index 0000000000000000000000000000000000000000..1f7f9970632e77aff846767b105febea40984937
Binary files /dev/null and b/STM32Project/Spino_bringup/Debug/Spino_bringup.elf differ
diff --git a/STM32Project/Spino_bringup/Debug/Spino_bringup.list b/STM32Project/Spino_bringup/Debug/Spino_bringup.list
new file mode 100644
index 0000000000000000000000000000000000000000..a8711e971207a5a9720faab00a0f3256a9a1d9d3
--- /dev/null
+++ b/STM32Project/Spino_bringup/Debug/Spino_bringup.list
@@ -0,0 +1,10154 @@
+
+Spino_bringup.elf: file format elf32-littlearm
+
+Sections:
+Idx Name Size VMA LMA File off Algn
+ 0 .isr_vector 00000194 08000000 08000000 00010000 2**0
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 1 .text 00005ae0 08000194 08000194 00010194 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 2 .rodata 00000048 08005c74 08005c74 00015c74 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 3 .ARM.extab 00000000 08005cbc 08005cbc 00020470 2**0
+ CONTENTS
+ 4 .ARM 00000008 08005cbc 08005cbc 00015cbc 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 5 .preinit_array 00000000 08005cc4 08005cc4 00020470 2**0
+ CONTENTS, ALLOC, LOAD, DATA
+ 6 .init_array 00000004 08005cc4 08005cc4 00015cc4 2**2
+ CONTENTS, ALLOC, LOAD, DATA
+ 7 .fini_array 00000004 08005cc8 08005cc8 00015cc8 2**2
+ CONTENTS, ALLOC, LOAD, DATA
+ 8 .data 00000470 20000000 08005ccc 00020000 2**2
+ CONTENTS, ALLOC, LOAD, DATA
+ 9 .bss 000003c8 20000470 0800613c 00020470 2**2
+ ALLOC
+ 10 ._user_heap_stack 00000600 20000838 0800613c 00020838 2**0
+ ALLOC
+ 11 .ARM.attributes 00000030 00000000 00000000 00020470 2**0
+ CONTENTS, READONLY
+ 12 .debug_info 00011b2b 00000000 00000000 000204a0 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 13 .debug_abbrev 00002471 00000000 00000000 00031fcb 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 14 .debug_aranges 00000ed0 00000000 00000000 00034440 2**3
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 15 .debug_ranges 00000df8 00000000 00000000 00035310 2**3
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 16 .debug_macro 000268b1 00000000 00000000 00036108 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 17 .debug_line 000119f0 00000000 00000000 0005c9b9 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 18 .debug_str 000f9a1c 00000000 00000000 0006e3a9 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 19 .comment 00000050 00000000 00000000 00167dc5 2**0
+ CONTENTS, READONLY
+ 20 .debug_frame 00003ddc 00000000 00000000 00167e18 2**2
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+
+Disassembly of section .text:
+
+08000194 <__do_global_dtors_aux>:
+ 8000194: b510 push {r4, lr}
+ 8000196: 4c05 ldr r4, [pc, #20] ; (80001ac <__do_global_dtors_aux+0x18>)
+ 8000198: 7823 ldrb r3, [r4, #0]
+ 800019a: b933 cbnz r3, 80001aa <__do_global_dtors_aux+0x16>
+ 800019c: 4b04 ldr r3, [pc, #16] ; (80001b0 <__do_global_dtors_aux+0x1c>)
+ 800019e: b113 cbz r3, 80001a6 <__do_global_dtors_aux+0x12>
+ 80001a0: 4804 ldr r0, [pc, #16] ; (80001b4 <__do_global_dtors_aux+0x20>)
+ 80001a2: f3af 8000 nop.w
+ 80001a6: 2301 movs r3, #1
+ 80001a8: 7023 strb r3, [r4, #0]
+ 80001aa: bd10 pop {r4, pc}
+ 80001ac: 20000470 .word 0x20000470
+ 80001b0: 00000000 .word 0x00000000
+ 80001b4: 08005c5c .word 0x08005c5c
+
+080001b8 :
+ 80001b8: b508 push {r3, lr}
+ 80001ba: 4b03 ldr r3, [pc, #12] ; (80001c8 )
+ 80001bc: b11b cbz r3, 80001c6
+ 80001be: 4903 ldr r1, [pc, #12] ; (80001cc )
+ 80001c0: 4803 ldr r0, [pc, #12] ; (80001d0 )
+ 80001c2: f3af 8000 nop.w
+ 80001c6: bd08 pop {r3, pc}
+ 80001c8: 00000000 .word 0x00000000
+ 80001cc: 20000474 .word 0x20000474
+ 80001d0: 08005c5c .word 0x08005c5c
+
+080001d4 <__aeabi_uldivmod>:
+ 80001d4: b953 cbnz r3, 80001ec <__aeabi_uldivmod+0x18>
+ 80001d6: b94a cbnz r2, 80001ec <__aeabi_uldivmod+0x18>
+ 80001d8: 2900 cmp r1, #0
+ 80001da: bf08 it eq
+ 80001dc: 2800 cmpeq r0, #0
+ 80001de: bf1c itt ne
+ 80001e0: f04f 31ff movne.w r1, #4294967295 ; 0xffffffff
+ 80001e4: f04f 30ff movne.w r0, #4294967295 ; 0xffffffff
+ 80001e8: f000 b974 b.w 80004d4 <__aeabi_idiv0>
+ 80001ec: f1ad 0c08 sub.w ip, sp, #8
+ 80001f0: e96d ce04 strd ip, lr, [sp, #-16]!
+ 80001f4: f000 f806 bl 8000204 <__udivmoddi4>
+ 80001f8: f8dd e004 ldr.w lr, [sp, #4]
+ 80001fc: e9dd 2302 ldrd r2, r3, [sp, #8]
+ 8000200: b004 add sp, #16
+ 8000202: 4770 bx lr
+
+08000204 <__udivmoddi4>:
+ 8000204: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
+ 8000208: 9d08 ldr r5, [sp, #32]
+ 800020a: 4604 mov r4, r0
+ 800020c: 468e mov lr, r1
+ 800020e: 2b00 cmp r3, #0
+ 8000210: d14d bne.n 80002ae <__udivmoddi4+0xaa>
+ 8000212: 428a cmp r2, r1
+ 8000214: 4694 mov ip, r2
+ 8000216: d969 bls.n 80002ec <__udivmoddi4+0xe8>
+ 8000218: fab2 f282 clz r2, r2
+ 800021c: b152 cbz r2, 8000234 <__udivmoddi4+0x30>
+ 800021e: fa01 f302 lsl.w r3, r1, r2
+ 8000222: f1c2 0120 rsb r1, r2, #32
+ 8000226: fa20 f101 lsr.w r1, r0, r1
+ 800022a: fa0c fc02 lsl.w ip, ip, r2
+ 800022e: ea41 0e03 orr.w lr, r1, r3
+ 8000232: 4094 lsls r4, r2
+ 8000234: ea4f 481c mov.w r8, ip, lsr #16
+ 8000238: 0c21 lsrs r1, r4, #16
+ 800023a: fbbe f6f8 udiv r6, lr, r8
+ 800023e: fa1f f78c uxth.w r7, ip
+ 8000242: fb08 e316 mls r3, r8, r6, lr
+ 8000246: ea41 4303 orr.w r3, r1, r3, lsl #16
+ 800024a: fb06 f107 mul.w r1, r6, r7
+ 800024e: 4299 cmp r1, r3
+ 8000250: d90a bls.n 8000268 <__udivmoddi4+0x64>
+ 8000252: eb1c 0303 adds.w r3, ip, r3
+ 8000256: f106 30ff add.w r0, r6, #4294967295 ; 0xffffffff
+ 800025a: f080 811f bcs.w 800049c <__udivmoddi4+0x298>
+ 800025e: 4299 cmp r1, r3
+ 8000260: f240 811c bls.w 800049c <__udivmoddi4+0x298>
+ 8000264: 3e02 subs r6, #2
+ 8000266: 4463 add r3, ip
+ 8000268: 1a5b subs r3, r3, r1
+ 800026a: b2a4 uxth r4, r4
+ 800026c: fbb3 f0f8 udiv r0, r3, r8
+ 8000270: fb08 3310 mls r3, r8, r0, r3
+ 8000274: ea44 4403 orr.w r4, r4, r3, lsl #16
+ 8000278: fb00 f707 mul.w r7, r0, r7
+ 800027c: 42a7 cmp r7, r4
+ 800027e: d90a bls.n 8000296 <__udivmoddi4+0x92>
+ 8000280: eb1c 0404 adds.w r4, ip, r4
+ 8000284: f100 33ff add.w r3, r0, #4294967295 ; 0xffffffff
+ 8000288: f080 810a bcs.w 80004a0 <__udivmoddi4+0x29c>
+ 800028c: 42a7 cmp r7, r4
+ 800028e: f240 8107 bls.w 80004a0 <__udivmoddi4+0x29c>
+ 8000292: 4464 add r4, ip
+ 8000294: 3802 subs r0, #2
+ 8000296: ea40 4006 orr.w r0, r0, r6, lsl #16
+ 800029a: 1be4 subs r4, r4, r7
+ 800029c: 2600 movs r6, #0
+ 800029e: b11d cbz r5, 80002a8 <__udivmoddi4+0xa4>
+ 80002a0: 40d4 lsrs r4, r2
+ 80002a2: 2300 movs r3, #0
+ 80002a4: e9c5 4300 strd r4, r3, [r5]
+ 80002a8: 4631 mov r1, r6
+ 80002aa: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
+ 80002ae: 428b cmp r3, r1
+ 80002b0: d909 bls.n 80002c6 <__udivmoddi4+0xc2>
+ 80002b2: 2d00 cmp r5, #0
+ 80002b4: f000 80ef beq.w 8000496 <__udivmoddi4+0x292>
+ 80002b8: 2600 movs r6, #0
+ 80002ba: e9c5 0100 strd r0, r1, [r5]
+ 80002be: 4630 mov r0, r6
+ 80002c0: 4631 mov r1, r6
+ 80002c2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
+ 80002c6: fab3 f683 clz r6, r3
+ 80002ca: 2e00 cmp r6, #0
+ 80002cc: d14a bne.n 8000364 <__udivmoddi4+0x160>
+ 80002ce: 428b cmp r3, r1
+ 80002d0: d302 bcc.n 80002d8 <__udivmoddi4+0xd4>
+ 80002d2: 4282 cmp r2, r0
+ 80002d4: f200 80f9 bhi.w 80004ca <__udivmoddi4+0x2c6>
+ 80002d8: 1a84 subs r4, r0, r2
+ 80002da: eb61 0303 sbc.w r3, r1, r3
+ 80002de: 2001 movs r0, #1
+ 80002e0: 469e mov lr, r3
+ 80002e2: 2d00 cmp r5, #0
+ 80002e4: d0e0 beq.n 80002a8 <__udivmoddi4+0xa4>
+ 80002e6: e9c5 4e00 strd r4, lr, [r5]
+ 80002ea: e7dd b.n 80002a8 <__udivmoddi4+0xa4>
+ 80002ec: b902 cbnz r2, 80002f0 <__udivmoddi4+0xec>
+ 80002ee: deff udf #255 ; 0xff
+ 80002f0: fab2 f282 clz r2, r2
+ 80002f4: 2a00 cmp r2, #0
+ 80002f6: f040 8092 bne.w 800041e <__udivmoddi4+0x21a>
+ 80002fa: eba1 010c sub.w r1, r1, ip
+ 80002fe: ea4f 471c mov.w r7, ip, lsr #16
+ 8000302: fa1f fe8c uxth.w lr, ip
+ 8000306: 2601 movs r6, #1
+ 8000308: 0c20 lsrs r0, r4, #16
+ 800030a: fbb1 f3f7 udiv r3, r1, r7
+ 800030e: fb07 1113 mls r1, r7, r3, r1
+ 8000312: ea40 4101 orr.w r1, r0, r1, lsl #16
+ 8000316: fb0e f003 mul.w r0, lr, r3
+ 800031a: 4288 cmp r0, r1
+ 800031c: d908 bls.n 8000330 <__udivmoddi4+0x12c>
+ 800031e: eb1c 0101 adds.w r1, ip, r1
+ 8000322: f103 38ff add.w r8, r3, #4294967295 ; 0xffffffff
+ 8000326: d202 bcs.n 800032e <__udivmoddi4+0x12a>
+ 8000328: 4288 cmp r0, r1
+ 800032a: f200 80cb bhi.w 80004c4 <__udivmoddi4+0x2c0>
+ 800032e: 4643 mov r3, r8
+ 8000330: 1a09 subs r1, r1, r0
+ 8000332: b2a4 uxth r4, r4
+ 8000334: fbb1 f0f7 udiv r0, r1, r7
+ 8000338: fb07 1110 mls r1, r7, r0, r1
+ 800033c: ea44 4401 orr.w r4, r4, r1, lsl #16
+ 8000340: fb0e fe00 mul.w lr, lr, r0
+ 8000344: 45a6 cmp lr, r4
+ 8000346: d908 bls.n 800035a <__udivmoddi4+0x156>
+ 8000348: eb1c 0404 adds.w r4, ip, r4
+ 800034c: f100 31ff add.w r1, r0, #4294967295 ; 0xffffffff
+ 8000350: d202 bcs.n 8000358 <__udivmoddi4+0x154>
+ 8000352: 45a6 cmp lr, r4
+ 8000354: f200 80bb bhi.w 80004ce <__udivmoddi4+0x2ca>
+ 8000358: 4608 mov r0, r1
+ 800035a: eba4 040e sub.w r4, r4, lr
+ 800035e: ea40 4003 orr.w r0, r0, r3, lsl #16
+ 8000362: e79c b.n 800029e <__udivmoddi4+0x9a>
+ 8000364: f1c6 0720 rsb r7, r6, #32
+ 8000368: 40b3 lsls r3, r6
+ 800036a: fa22 fc07 lsr.w ip, r2, r7
+ 800036e: ea4c 0c03 orr.w ip, ip, r3
+ 8000372: fa20 f407 lsr.w r4, r0, r7
+ 8000376: fa01 f306 lsl.w r3, r1, r6
+ 800037a: 431c orrs r4, r3
+ 800037c: 40f9 lsrs r1, r7
+ 800037e: ea4f 491c mov.w r9, ip, lsr #16
+ 8000382: fa00 f306 lsl.w r3, r0, r6
+ 8000386: fbb1 f8f9 udiv r8, r1, r9
+ 800038a: 0c20 lsrs r0, r4, #16
+ 800038c: fa1f fe8c uxth.w lr, ip
+ 8000390: fb09 1118 mls r1, r9, r8, r1
+ 8000394: ea40 4101 orr.w r1, r0, r1, lsl #16
+ 8000398: fb08 f00e mul.w r0, r8, lr
+ 800039c: 4288 cmp r0, r1
+ 800039e: fa02 f206 lsl.w r2, r2, r6
+ 80003a2: d90b bls.n 80003bc <__udivmoddi4+0x1b8>
+ 80003a4: eb1c 0101 adds.w r1, ip, r1
+ 80003a8: f108 3aff add.w sl, r8, #4294967295 ; 0xffffffff
+ 80003ac: f080 8088 bcs.w 80004c0 <__udivmoddi4+0x2bc>
+ 80003b0: 4288 cmp r0, r1
+ 80003b2: f240 8085 bls.w 80004c0 <__udivmoddi4+0x2bc>
+ 80003b6: f1a8 0802 sub.w r8, r8, #2
+ 80003ba: 4461 add r1, ip
+ 80003bc: 1a09 subs r1, r1, r0
+ 80003be: b2a4 uxth r4, r4
+ 80003c0: fbb1 f0f9 udiv r0, r1, r9
+ 80003c4: fb09 1110 mls r1, r9, r0, r1
+ 80003c8: ea44 4101 orr.w r1, r4, r1, lsl #16
+ 80003cc: fb00 fe0e mul.w lr, r0, lr
+ 80003d0: 458e cmp lr, r1
+ 80003d2: d908 bls.n 80003e6 <__udivmoddi4+0x1e2>
+ 80003d4: eb1c 0101 adds.w r1, ip, r1
+ 80003d8: f100 34ff add.w r4, r0, #4294967295 ; 0xffffffff
+ 80003dc: d26c bcs.n 80004b8 <__udivmoddi4+0x2b4>
+ 80003de: 458e cmp lr, r1
+ 80003e0: d96a bls.n 80004b8 <__udivmoddi4+0x2b4>
+ 80003e2: 3802 subs r0, #2
+ 80003e4: 4461 add r1, ip
+ 80003e6: ea40 4008 orr.w r0, r0, r8, lsl #16
+ 80003ea: fba0 9402 umull r9, r4, r0, r2
+ 80003ee: eba1 010e sub.w r1, r1, lr
+ 80003f2: 42a1 cmp r1, r4
+ 80003f4: 46c8 mov r8, r9
+ 80003f6: 46a6 mov lr, r4
+ 80003f8: d356 bcc.n 80004a8 <__udivmoddi4+0x2a4>
+ 80003fa: d053 beq.n 80004a4 <__udivmoddi4+0x2a0>
+ 80003fc: b15d cbz r5, 8000416 <__udivmoddi4+0x212>
+ 80003fe: ebb3 0208 subs.w r2, r3, r8
+ 8000402: eb61 010e sbc.w r1, r1, lr
+ 8000406: fa01 f707 lsl.w r7, r1, r7
+ 800040a: fa22 f306 lsr.w r3, r2, r6
+ 800040e: 40f1 lsrs r1, r6
+ 8000410: 431f orrs r7, r3
+ 8000412: e9c5 7100 strd r7, r1, [r5]
+ 8000416: 2600 movs r6, #0
+ 8000418: 4631 mov r1, r6
+ 800041a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
+ 800041e: f1c2 0320 rsb r3, r2, #32
+ 8000422: 40d8 lsrs r0, r3
+ 8000424: fa0c fc02 lsl.w ip, ip, r2
+ 8000428: fa21 f303 lsr.w r3, r1, r3
+ 800042c: 4091 lsls r1, r2
+ 800042e: 4301 orrs r1, r0
+ 8000430: ea4f 471c mov.w r7, ip, lsr #16
+ 8000434: fa1f fe8c uxth.w lr, ip
+ 8000438: fbb3 f0f7 udiv r0, r3, r7
+ 800043c: fb07 3610 mls r6, r7, r0, r3
+ 8000440: 0c0b lsrs r3, r1, #16
+ 8000442: ea43 4306 orr.w r3, r3, r6, lsl #16
+ 8000446: fb00 f60e mul.w r6, r0, lr
+ 800044a: 429e cmp r6, r3
+ 800044c: fa04 f402 lsl.w r4, r4, r2
+ 8000450: d908 bls.n 8000464 <__udivmoddi4+0x260>
+ 8000452: eb1c 0303 adds.w r3, ip, r3
+ 8000456: f100 38ff add.w r8, r0, #4294967295 ; 0xffffffff
+ 800045a: d22f bcs.n 80004bc <__udivmoddi4+0x2b8>
+ 800045c: 429e cmp r6, r3
+ 800045e: d92d bls.n 80004bc <__udivmoddi4+0x2b8>
+ 8000460: 3802 subs r0, #2
+ 8000462: 4463 add r3, ip
+ 8000464: 1b9b subs r3, r3, r6
+ 8000466: b289 uxth r1, r1
+ 8000468: fbb3 f6f7 udiv r6, r3, r7
+ 800046c: fb07 3316 mls r3, r7, r6, r3
+ 8000470: ea41 4103 orr.w r1, r1, r3, lsl #16
+ 8000474: fb06 f30e mul.w r3, r6, lr
+ 8000478: 428b cmp r3, r1
+ 800047a: d908 bls.n 800048e <__udivmoddi4+0x28a>
+ 800047c: eb1c 0101 adds.w r1, ip, r1
+ 8000480: f106 38ff add.w r8, r6, #4294967295 ; 0xffffffff
+ 8000484: d216 bcs.n 80004b4 <__udivmoddi4+0x2b0>
+ 8000486: 428b cmp r3, r1
+ 8000488: d914 bls.n 80004b4 <__udivmoddi4+0x2b0>
+ 800048a: 3e02 subs r6, #2
+ 800048c: 4461 add r1, ip
+ 800048e: 1ac9 subs r1, r1, r3
+ 8000490: ea46 4600 orr.w r6, r6, r0, lsl #16
+ 8000494: e738 b.n 8000308 <__udivmoddi4+0x104>
+ 8000496: 462e mov r6, r5
+ 8000498: 4628 mov r0, r5
+ 800049a: e705 b.n 80002a8 <__udivmoddi4+0xa4>
+ 800049c: 4606 mov r6, r0
+ 800049e: e6e3 b.n 8000268 <__udivmoddi4+0x64>
+ 80004a0: 4618 mov r0, r3
+ 80004a2: e6f8 b.n 8000296 <__udivmoddi4+0x92>
+ 80004a4: 454b cmp r3, r9
+ 80004a6: d2a9 bcs.n 80003fc <__udivmoddi4+0x1f8>
+ 80004a8: ebb9 0802 subs.w r8, r9, r2
+ 80004ac: eb64 0e0c sbc.w lr, r4, ip
+ 80004b0: 3801 subs r0, #1
+ 80004b2: e7a3 b.n 80003fc <__udivmoddi4+0x1f8>
+ 80004b4: 4646 mov r6, r8
+ 80004b6: e7ea b.n 800048e <__udivmoddi4+0x28a>
+ 80004b8: 4620 mov r0, r4
+ 80004ba: e794 b.n 80003e6 <__udivmoddi4+0x1e2>
+ 80004bc: 4640 mov r0, r8
+ 80004be: e7d1 b.n 8000464 <__udivmoddi4+0x260>
+ 80004c0: 46d0 mov r8, sl
+ 80004c2: e77b b.n 80003bc <__udivmoddi4+0x1b8>
+ 80004c4: 3b02 subs r3, #2
+ 80004c6: 4461 add r1, ip
+ 80004c8: e732 b.n 8000330 <__udivmoddi4+0x12c>
+ 80004ca: 4630 mov r0, r6
+ 80004cc: e709 b.n 80002e2 <__udivmoddi4+0xde>
+ 80004ce: 4464 add r4, ip
+ 80004d0: 3802 subs r0, #2
+ 80004d2: e742 b.n 800035a <__udivmoddi4+0x156>
+
+080004d4 <__aeabi_idiv0>:
+ 80004d4: 4770 bx lr
+ 80004d6: bf00 nop
+
+080004d8 :
+ 80004d8: b580 push {r7, lr}
+ 80004da: b084 sub sp, #16
+ 80004dc: af00 add r7, sp, #0
+ 80004de: 60f8 str r0, [r7, #12]
+ 80004e0: 60b9 str r1, [r7, #8]
+ 80004e2: 4613 mov r3, r2
+ 80004e4: 80fb strh r3, [r7, #6]
+ 80004e6: 2200 movs r2, #0
+ 80004e8: f44f 5180 mov.w r1, #4096 ; 0x1000
+ 80004ec: 480c ldr r0, [pc, #48] ; (8000520 )
+ 80004ee: f001 fce9 bl 8001ec4
+ 80004f2: 200a movs r0, #10
+ 80004f4: f001 f9e8 bl 80018c8
+ 80004f8: 88fa ldrh r2, [r7, #6]
+ 80004fa: f44f 737a mov.w r3, #1000 ; 0x3e8
+ 80004fe: 68b9 ldr r1, [r7, #8]
+ 8000500: 68f8 ldr r0, [r7, #12]
+ 8000502: f004 fa16 bl 8004932
+ 8000506: 200a movs r0, #10
+ 8000508: f001 f9de bl 80018c8
+ 800050c: 2201 movs r2, #1
+ 800050e: f44f 5180 mov.w r1, #4096 ; 0x1000
+ 8000512: 4803 ldr r0, [pc, #12] ; (8000520 )
+ 8000514: f001 fcd6 bl 8001ec4
+ 8000518: bf00 nop
+ 800051a: 3710 adds r7, #16
+ 800051c: 46bd mov sp, r7
+ 800051e: bd80 pop {r7, pc}
+ 8000520: 48000400 .word 0x48000400
+
+08000524 :
+ 8000524: b580 push {r7, lr}
+ 8000526: b086 sub sp, #24
+ 8000528: af02 add r7, sp, #8
+ 800052a: 60f8 str r0, [r7, #12]
+ 800052c: 60b9 str r1, [r7, #8]
+ 800052e: 607a str r2, [r7, #4]
+ 8000530: 807b strh r3, [r7, #2]
+ 8000532: 2200 movs r2, #0
+ 8000534: f44f 5180 mov.w r1, #4096 ; 0x1000
+ 8000538: 480d ldr r0, [pc, #52] ; (8000570 )
+ 800053a: f001 fcc3 bl 8001ec4
+ 800053e: 2001 movs r0, #1
+ 8000540: f001 f9c2 bl 80018c8
+ 8000544: 887b ldrh r3, [r7, #2]
+ 8000546: f44f 727a mov.w r2, #1000 ; 0x3e8
+ 800054a: 9200 str r2, [sp, #0]
+ 800054c: 687a ldr r2, [r7, #4]
+ 800054e: 68b9 ldr r1, [r7, #8]
+ 8000550: 68f8 ldr r0, [r7, #12]
+ 8000552: f004 fb5c bl 8004c0e
+ 8000556: 2001 movs r0, #1
+ 8000558: f001 f9b6 bl 80018c8
+ 800055c: 2201 movs r2, #1
+ 800055e: f44f 5180 mov.w r1, #4096 ; 0x1000
+ 8000562: 4803 ldr r0, [pc, #12] ; (8000570 )
+ 8000564: f001 fcae bl 8001ec4
+ 8000568: bf00 nop
+ 800056a: 3710 adds r7, #16
+ 800056c: 46bd mov sp, r7
+ 800056e: bd80 pop {r7, pc}
+ 8000570: 48000400 .word 0x48000400
+
+08000574 :
+ 8000574: b580 push {r7, lr}
+ 8000576: b082 sub sp, #8
+ 8000578: af00 add r7, sp, #0
+ 800057a: 23ff movs r3, #255 ; 0xff
+ 800057c: 71fb strb r3, [r7, #7]
+ 800057e: 2300 movs r3, #0
+ 8000580: 71bb strb r3, [r7, #6]
+ 8000582: 1dba adds r2, r7, #6
+ 8000584: 1df9 adds r1, r7, #7
+ 8000586: 2301 movs r3, #1
+ 8000588: 4806 ldr r0, [pc, #24] ; (80005a4 )
+ 800058a: f7ff ffcb bl 8000524
+ 800058e: 79bb ldrb r3, [r7, #6]
+ 8000590: f003 0320 and.w r3, r3, #32
+ 8000594: 2b00 cmp r3, #0
+ 8000596: d0f4 beq.n 8000582
+ 8000598: bf00 nop
+ 800059a: bf00 nop
+ 800059c: 3708 adds r7, #8
+ 800059e: 46bd mov sp, r7
+ 80005a0: bd80 pop {r7, pc}
+ 80005a2: bf00 nop
+ 80005a4: 2000074c .word 0x2000074c
+
+080005a8 :
+ 80005a8: b580 push {r7, lr}
+ 80005aa: b08a sub sp, #40 ; 0x28
+ 80005ac: af00 add r7, sp, #0
+ 80005ae: 6078 str r0, [r7, #4]
+ 80005b0: 2300 movs r3, #0
+ 80005b2: f887 3027 strb.w r3, [r7, #39] ; 0x27
+ 80005b6: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 80005ba: 1c5a adds r2, r3, #1
+ 80005bc: f887 2027 strb.w r2, [r7, #39] ; 0x27
+ 80005c0: 3328 adds r3, #40 ; 0x28
+ 80005c2: 443b add r3, r7
+ 80005c4: 2278 movs r2, #120 ; 0x78
+ 80005c6: f803 2c14 strb.w r2, [r3, #-20]
+ 80005ca: 687b ldr r3, [r7, #4]
+ 80005cc: 0e1a lsrs r2, r3, #24
+ 80005ce: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 80005d2: 1c59 adds r1, r3, #1
+ 80005d4: f887 1027 strb.w r1, [r7, #39] ; 0x27
+ 80005d8: b2d2 uxtb r2, r2
+ 80005da: 3328 adds r3, #40 ; 0x28
+ 80005dc: 443b add r3, r7
+ 80005de: f803 2c14 strb.w r2, [r3, #-20]
+ 80005e2: 687b ldr r3, [r7, #4]
+ 80005e4: 0c1a lsrs r2, r3, #16
+ 80005e6: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 80005ea: 1c59 adds r1, r3, #1
+ 80005ec: f887 1027 strb.w r1, [r7, #39] ; 0x27
+ 80005f0: b2d2 uxtb r2, r2
+ 80005f2: 3328 adds r3, #40 ; 0x28
+ 80005f4: 443b add r3, r7
+ 80005f6: f803 2c14 strb.w r2, [r3, #-20]
+ 80005fa: 687b ldr r3, [r7, #4]
+ 80005fc: 0a1a lsrs r2, r3, #8
+ 80005fe: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 8000602: 1c59 adds r1, r3, #1
+ 8000604: f887 1027 strb.w r1, [r7, #39] ; 0x27
+ 8000608: b2d2 uxtb r2, r2
+ 800060a: 3328 adds r3, #40 ; 0x28
+ 800060c: 443b add r3, r7
+ 800060e: f803 2c14 strb.w r2, [r3, #-20]
+ 8000612: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 8000616: 1c5a adds r2, r3, #1
+ 8000618: f887 2027 strb.w r2, [r7, #39] ; 0x27
+ 800061c: 687a ldr r2, [r7, #4]
+ 800061e: b2d2 uxtb r2, r2
+ 8000620: 3328 adds r3, #40 ; 0x28
+ 8000622: 443b add r3, r7
+ 8000624: f803 2c14 strb.w r2, [r3, #-20]
+ 8000628: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 800062c: 1c5a adds r2, r3, #1
+ 800062e: f887 2027 strb.w r2, [r7, #39] ; 0x27
+ 8000632: 3328 adds r3, #40 ; 0x28
+ 8000634: 443b add r3, r7
+ 8000636: 22ff movs r2, #255 ; 0xff
+ 8000638: f803 2c14 strb.w r2, [r3, #-20]
+ 800063c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 8000640: 1c5a adds r2, r3, #1
+ 8000642: f887 2027 strb.w r2, [r7, #39] ; 0x27
+ 8000646: 3328 adds r3, #40 ; 0x28
+ 8000648: 443b add r3, r7
+ 800064a: 22ff movs r2, #255 ; 0xff
+ 800064c: f803 2c14 strb.w r2, [r3, #-20]
+ 8000650: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 8000654: 1c5a adds r2, r3, #1
+ 8000656: f887 2027 strb.w r2, [r7, #39] ; 0x27
+ 800065a: 3328 adds r3, #40 ; 0x28
+ 800065c: 443b add r3, r7
+ 800065e: 22ff movs r2, #255 ; 0xff
+ 8000660: f803 2c14 strb.w r2, [r3, #-20]
+ 8000664: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 8000668: 1c5a adds r2, r3, #1
+ 800066a: f887 2027 strb.w r2, [r7, #39] ; 0x27
+ 800066e: 3328 adds r3, #40 ; 0x28
+ 8000670: 443b add r3, r7
+ 8000672: 22ff movs r2, #255 ; 0xff
+ 8000674: f803 2c14 strb.w r2, [r3, #-20]
+ 8000678: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 800067c: 1c5a adds r2, r3, #1
+ 800067e: f887 2027 strb.w r2, [r7, #39] ; 0x27
+ 8000682: 3328 adds r3, #40 ; 0x28
+ 8000684: 443b add r3, r7
+ 8000686: 22ff movs r2, #255 ; 0xff
+ 8000688: f803 2c14 strb.w r2, [r3, #-20]
+ 800068c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 8000690: 1c5a adds r2, r3, #1
+ 8000692: f887 2027 strb.w r2, [r7, #39] ; 0x27
+ 8000696: 3328 adds r3, #40 ; 0x28
+ 8000698: 443b add r3, r7
+ 800069a: 22ff movs r2, #255 ; 0xff
+ 800069c: f803 2c14 strb.w r2, [r3, #-20]
+ 80006a0: f7ff ff68 bl 8000574
+ 80006a4: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 80006a8: b29b uxth r3, r3
+ 80006aa: f107 0208 add.w r2, r7, #8
+ 80006ae: f107 0114 add.w r1, r7, #20
+ 80006b2: 4809 ldr r0, [pc, #36] ; (80006d8 )
+ 80006b4: f7ff ff36 bl 8000524
+ 80006b8: 7bfb ldrb r3, [r7, #15]
+ 80006ba: 061a lsls r2, r3, #24
+ 80006bc: 7c3b ldrb r3, [r7, #16]
+ 80006be: 041b lsls r3, r3, #16
+ 80006c0: 4313 orrs r3, r2
+ 80006c2: 7c7a ldrb r2, [r7, #17]
+ 80006c4: 0212 lsls r2, r2, #8
+ 80006c6: 4313 orrs r3, r2
+ 80006c8: 7cba ldrb r2, [r7, #18]
+ 80006ca: 4313 orrs r3, r2
+ 80006cc: 623b str r3, [r7, #32]
+ 80006ce: 6a3b ldr r3, [r7, #32]
+ 80006d0: 4618 mov r0, r3
+ 80006d2: 3728 adds r7, #40 ; 0x28
+ 80006d4: 46bd mov sp, r7
+ 80006d6: bd80 pop {r7, pc}
+ 80006d8: 2000074c .word 0x2000074c
+
+080006dc :
+ 80006dc: b580 push {r7, lr}
+ 80006de: b086 sub sp, #24
+ 80006e0: af00 add r7, sp, #0
+ 80006e2: 6078 str r0, [r7, #4]
+ 80006e4: 6039 str r1, [r7, #0]
+ 80006e6: 2300 movs r3, #0
+ 80006e8: 75fb strb r3, [r7, #23]
+ 80006ea: 7dfb ldrb r3, [r7, #23]
+ 80006ec: 1c5a adds r2, r3, #1
+ 80006ee: 75fa strb r2, [r7, #23]
+ 80006f0: 3318 adds r3, #24
+ 80006f2: 443b add r3, r7
+ 80006f4: 2238 movs r2, #56 ; 0x38
+ 80006f6: f803 2c0c strb.w r2, [r3, #-12]
+ 80006fa: 687b ldr r3, [r7, #4]
+ 80006fc: 0e1a lsrs r2, r3, #24
+ 80006fe: 7dfb ldrb r3, [r7, #23]
+ 8000700: 1c59 adds r1, r3, #1
+ 8000702: 75f9 strb r1, [r7, #23]
+ 8000704: b2d2 uxtb r2, r2
+ 8000706: 3318 adds r3, #24
+ 8000708: 443b add r3, r7
+ 800070a: f803 2c0c strb.w r2, [r3, #-12]
+ 800070e: 687b ldr r3, [r7, #4]
+ 8000710: 0c1a lsrs r2, r3, #16
+ 8000712: 7dfb ldrb r3, [r7, #23]
+ 8000714: 1c59 adds r1, r3, #1
+ 8000716: 75f9 strb r1, [r7, #23]
+ 8000718: b2d2 uxtb r2, r2
+ 800071a: 3318 adds r3, #24
+ 800071c: 443b add r3, r7
+ 800071e: f803 2c0c strb.w r2, [r3, #-12]
+ 8000722: 687b ldr r3, [r7, #4]
+ 8000724: 0a1a lsrs r2, r3, #8
+ 8000726: 7dfb ldrb r3, [r7, #23]
+ 8000728: 1c59 adds r1, r3, #1
+ 800072a: 75f9 strb r1, [r7, #23]
+ 800072c: b2d2 uxtb r2, r2
+ 800072e: 3318 adds r3, #24
+ 8000730: 443b add r3, r7
+ 8000732: f803 2c0c strb.w r2, [r3, #-12]
+ 8000736: 7dfb ldrb r3, [r7, #23]
+ 8000738: 1c5a adds r2, r3, #1
+ 800073a: 75fa strb r2, [r7, #23]
+ 800073c: 687a ldr r2, [r7, #4]
+ 800073e: b2d2 uxtb r2, r2
+ 8000740: 3318 adds r3, #24
+ 8000742: 443b add r3, r7
+ 8000744: f803 2c0c strb.w r2, [r3, #-12]
+ 8000748: 683b ldr r3, [r7, #0]
+ 800074a: 0e1a lsrs r2, r3, #24
+ 800074c: 7dfb ldrb r3, [r7, #23]
+ 800074e: 1c59 adds r1, r3, #1
+ 8000750: 75f9 strb r1, [r7, #23]
+ 8000752: b2d2 uxtb r2, r2
+ 8000754: 3318 adds r3, #24
+ 8000756: 443b add r3, r7
+ 8000758: f803 2c0c strb.w r2, [r3, #-12]
+ 800075c: 683b ldr r3, [r7, #0]
+ 800075e: 0c1a lsrs r2, r3, #16
+ 8000760: 7dfb ldrb r3, [r7, #23]
+ 8000762: 1c59 adds r1, r3, #1
+ 8000764: 75f9 strb r1, [r7, #23]
+ 8000766: b2d2 uxtb r2, r2
+ 8000768: 3318 adds r3, #24
+ 800076a: 443b add r3, r7
+ 800076c: f803 2c0c strb.w r2, [r3, #-12]
+ 8000770: 683b ldr r3, [r7, #0]
+ 8000772: 0a1a lsrs r2, r3, #8
+ 8000774: 7dfb ldrb r3, [r7, #23]
+ 8000776: 1c59 adds r1, r3, #1
+ 8000778: 75f9 strb r1, [r7, #23]
+ 800077a: b2d2 uxtb r2, r2
+ 800077c: 3318 adds r3, #24
+ 800077e: 443b add r3, r7
+ 8000780: f803 2c0c strb.w r2, [r3, #-12]
+ 8000784: 7dfb ldrb r3, [r7, #23]
+ 8000786: 1c5a adds r2, r3, #1
+ 8000788: 75fa strb r2, [r7, #23]
+ 800078a: 683a ldr r2, [r7, #0]
+ 800078c: b2d2 uxtb r2, r2
+ 800078e: 3318 adds r3, #24
+ 8000790: 443b add r3, r7
+ 8000792: f803 2c0c strb.w r2, [r3, #-12]
+ 8000796: f7ff feed bl 8000574
+ 800079a: 7dfb ldrb r3, [r7, #23]
+ 800079c: b29a uxth r2, r3
+ 800079e: f107 030c add.w r3, r7, #12
+ 80007a2: 4619 mov r1, r3
+ 80007a4: 4803 ldr r0, [pc, #12] ; (80007b4 )
+ 80007a6: f7ff fe97 bl 80004d8
+ 80007aa: bf00 nop
+ 80007ac: 3718 adds r7, #24
+ 80007ae: 46bd mov sp, r7
+ 80007b0: bd80 pop {r7, pc}
+ 80007b2: bf00 nop
+ 80007b4: 2000074c .word 0x2000074c
+
+080007b8 :
+ 80007b8: b580 push {r7, lr}
+ 80007ba: b084 sub sp, #16
+ 80007bc: af00 add r7, sp, #0
+ 80007be: 2300 movs r3, #0
+ 80007c0: 60fb str r3, [r7, #12]
+ 80007c2: 480f ldr r0, [pc, #60] ; (8000800 )
+ 80007c4: f7ff fef0 bl 80005a8
+ 80007c8: 60f8 str r0, [r7, #12]
+ 80007ca: f44f 137c mov.w r3, #4128768 ; 0x3f0000
+ 80007ce: 60bb str r3, [r7, #8]
+ 80007d0: f04f 537c mov.w r3, #1056964608 ; 0x3f000000
+ 80007d4: 607b str r3, [r7, #4]
+ 80007d6: 68ba ldr r2, [r7, #8]
+ 80007d8: 687b ldr r3, [r7, #4]
+ 80007da: 4013 ands r3, r2
+ 80007dc: 43db mvns r3, r3
+ 80007de: 68fa ldr r2, [r7, #12]
+ 80007e0: 4013 ands r3, r2
+ 80007e2: 60fb str r3, [r7, #12]
+ 80007e4: 68fb ldr r3, [r7, #12]
+ 80007e6: f043 53f8 orr.w r3, r3, #520093696 ; 0x1f000000
+ 80007ea: f443 13f0 orr.w r3, r3, #1966080 ; 0x1e0000
+ 80007ee: 60fb str r3, [r7, #12]
+ 80007f0: 68f9 ldr r1, [r7, #12]
+ 80007f2: 4803 ldr r0, [pc, #12] ; (8000800 )
+ 80007f4: f7ff ff72 bl 80006dc
+ 80007f8: bf00 nop
+ 80007fa: 3710 adds r7, #16
+ 80007fc: 46bd mov sp, r7
+ 80007fe: bd80 pop {r7, pc}
+ 8000800: 20000398 .word 0x20000398
+
+08000804 :
+ 8000804: b580 push {r7, lr}
+ 8000806: b084 sub sp, #16
+ 8000808: af00 add r7, sp, #0
+ 800080a: 2300 movs r3, #0
+ 800080c: 60fb str r3, [r7, #12]
+ 800080e: 230b movs r3, #11
+ 8000810: 72bb strb r3, [r7, #10]
+ 8000812: 2300 movs r3, #0
+ 8000814: 72fb strb r3, [r7, #11]
+ 8000816: 68fb ldr r3, [r7, #12]
+ 8000818: 4a1a ldr r2, [pc, #104] ; (8000884 )
+ 800081a: 4413 add r3, r2
+ 800081c: 781b ldrb r3, [r3, #0]
+ 800081e: 041a lsls r2, r3, #16
+ 8000820: 68fb ldr r3, [r7, #12]
+ 8000822: 3301 adds r3, #1
+ 8000824: 4917 ldr r1, [pc, #92] ; (8000884 )
+ 8000826: 440b add r3, r1
+ 8000828: 781b ldrb r3, [r3, #0]
+ 800082a: 021b lsls r3, r3, #8
+ 800082c: 4313 orrs r3, r2
+ 800082e: 68fa ldr r2, [r7, #12]
+ 8000830: 3202 adds r2, #2
+ 8000832: 4914 ldr r1, [pc, #80] ; (8000884 )
+ 8000834: 440a add r2, r1
+ 8000836: 7812 ldrb r2, [r2, #0]
+ 8000838: 4313 orrs r3, r2
+ 800083a: 607b str r3, [r7, #4]
+ 800083c: 687b ldr r3, [r7, #4]
+ 800083e: f5b3 3f80 cmp.w r3, #65536 ; 0x10000
+ 8000842: d301 bcc.n 8000848
+ 8000844: 2300 movs r3, #0
+ 8000846: e019 b.n 800087c
+ 8000848: 68fb ldr r3, [r7, #12]
+ 800084a: 3303 adds r3, #3
+ 800084c: 4a0d ldr r2, [pc, #52] ; (8000884 )
+ 800084e: 4413 add r3, r2
+ 8000850: 603b str r3, [r7, #0]
+ 8000852: 687b ldr r3, [r7, #4]
+ 8000854: b29b uxth r3, r3
+ 8000856: 3b03 subs r3, #3
+ 8000858: b29b uxth r3, r3
+ 800085a: 461a mov r2, r3
+ 800085c: 6839 ldr r1, [r7, #0]
+ 800085e: 480a ldr r0, [pc, #40] ; (8000888 )
+ 8000860: f7ff fe3a bl 80004d8
+ 8000864: 68fa ldr r2, [r7, #12]
+ 8000866: 687b ldr r3, [r7, #4]
+ 8000868: 4413 add r3, r2
+ 800086a: 60fb str r3, [r7, #12]
+ 800086c: 7afb ldrb r3, [r7, #11]
+ 800086e: 3301 adds r3, #1
+ 8000870: 72fb strb r3, [r7, #11]
+ 8000872: 7afa ldrb r2, [r7, #11]
+ 8000874: 7abb ldrb r3, [r7, #10]
+ 8000876: 429a cmp r2, r3
+ 8000878: d3cd bcc.n 8000816
+ 800087a: 2301 movs r3, #1
+ 800087c: 4618 mov r0, r3
+ 800087e: 3710 adds r7, #16
+ 8000880: 46bd mov sp, r7
+ 8000882: bd80 pop {r7, pc}
+ 8000884: 20000000 .word 0x20000000
+ 8000888: 2000074c .word 0x2000074c
+
+0800088c :
+ 800088c: b580 push {r7, lr}
+ 800088e: b082 sub sp, #8
+ 8000890: af00 add r7, sp, #0
+ 8000892: 2201 movs r2, #1
+ 8000894: f44f 5100 mov.w r1, #8192 ; 0x2000
+ 8000898: 4821 ldr r0, [pc, #132] ; (8000920 )
+ 800089a: f001 fb13 bl 8001ec4
+ 800089e: f44f 70fa mov.w r0, #500 ; 0x1f4
+ 80008a2: f001 f811 bl 80018c8
+ 80008a6: 2200 movs r2, #0
+ 80008a8: f44f 4180 mov.w r1, #16384 ; 0x4000
+ 80008ac: 481c ldr r0, [pc, #112] ; (8000920 )
+ 80008ae: f001 fb09 bl 8001ec4
+ 80008b2: f44f 70fa mov.w r0, #500 ; 0x1f4
+ 80008b6: f001 f807 bl 80018c8
+ 80008ba: 2201 movs r2, #1
+ 80008bc: f44f 4180 mov.w r1, #16384 ; 0x4000
+ 80008c0: 4817 ldr r0, [pc, #92] ; (8000920 )
+ 80008c2: f001 faff bl 8001ec4
+ 80008c6: 2300 movs r3, #0
+ 80008c8: 71fb strb r3, [r7, #7]
+ 80008ca: 23ff movs r3, #255 ; 0xff
+ 80008cc: 71bb strb r3, [r7, #6]
+ 80008ce: 1dfa adds r2, r7, #7
+ 80008d0: 1db9 adds r1, r7, #6
+ 80008d2: 2301 movs r3, #1
+ 80008d4: 4813 ldr r0, [pc, #76] ; (8000924 )
+ 80008d6: f7ff fe25 bl 8000524
+ 80008da: 79fb ldrb r3, [r7, #7]
+ 80008dc: 2b00 cmp r3, #0
+ 80008de: d0f6 beq.n 80008ce
+ 80008e0: f7ff fe48 bl 8000574
+ 80008e4: 2381 movs r3, #129 ; 0x81
+ 80008e6: 717b strb r3, [r7, #5]
+ 80008e8: 1d7b adds r3, r7, #5
+ 80008ea: 2201 movs r2, #1
+ 80008ec: 4619 mov r1, r3
+ 80008ee: 480d ldr r0, [pc, #52] ; (8000924 )
+ 80008f0: f7ff fdf2 bl 80004d8
+ 80008f4: f7ff ff60 bl 80007b8
+ 80008f8: f7ff fe3c bl 8000574
+ 80008fc: f7ff ff82 bl 8000804
+ 8000900: f7ff fe38 bl 8000574
+ 8000904: 2385 movs r3, #133 ; 0x85
+ 8000906: 713b strb r3, [r7, #4]
+ 8000908: 1d3b adds r3, r7, #4
+ 800090a: 2201 movs r2, #1
+ 800090c: 4619 mov r1, r3
+ 800090e: 4805 ldr r0, [pc, #20] ; (8000924 )
+ 8000910: f7ff fde2 bl 80004d8
+ 8000914: f7ff fe2e bl 8000574
+ 8000918: bf00 nop
+ 800091a: 3708 adds r7, #8
+ 800091c: 46bd mov sp, r7
+ 800091e: bd80 pop {r7, pc}
+ 8000920: 48001000 .word 0x48001000
+ 8000924: 2000074c .word 0x2000074c
+
+08000928 :
+ 8000928: b580 push {r7, lr}
+ 800092a: b084 sub sp, #16
+ 800092c: af00 add r7, sp, #0
+ 800092e: 60f8 str r0, [r7, #12]
+ 8000930: 60b9 str r1, [r7, #8]
+ 8000932: 4613 mov r3, r2
+ 8000934: 80fb strh r3, [r7, #6]
+ 8000936: 2200 movs r2, #0
+ 8000938: 2110 movs r1, #16
+ 800093a: f04f 4090 mov.w r0, #1207959552 ; 0x48000000
+ 800093e: f001 fac1 bl 8001ec4
+ 8000942: 88fa ldrh r2, [r7, #6]
+ 8000944: f44f 737a mov.w r3, #1000 ; 0x3e8
+ 8000948: 68b9 ldr r1, [r7, #8]
+ 800094a: 68f8 ldr r0, [r7, #12]
+ 800094c: f003 fff1 bl 8004932
+ 8000950: 2201 movs r2, #1
+ 8000952: 2110 movs r1, #16
+ 8000954: f04f 4090 mov.w r0, #1207959552 ; 0x48000000
+ 8000958: f001 fab4 bl 8001ec4
+ 800095c: bf00 nop
+ 800095e: 3710 adds r7, #16
+ 8000960: 46bd mov sp, r7
+ 8000962: bd80 pop {r7, pc}
+
+08000964 :
+ 8000964: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
+ 8000968: b08d sub sp, #52 ; 0x34
+ 800096a: af02 add r7, sp, #8
+ 800096c: 60f8 str r0, [r7, #12]
+ 800096e: 60b9 str r1, [r7, #8]
+ 8000970: 4613 mov r3, r2
+ 8000972: 80fb strh r3, [r7, #6]
+ 8000974: 466b mov r3, sp
+ 8000976: 461e mov r6, r3
+ 8000978: 2304 movs r3, #4
+ 800097a: f887 3026 strb.w r3, [r7, #38] ; 0x26
+ 800097e: 88f9 ldrh r1, [r7, #6]
+ 8000980: 460b mov r3, r1
+ 8000982: 3b01 subs r3, #1
+ 8000984: 623b str r3, [r7, #32]
+ 8000986: b28b uxth r3, r1
+ 8000988: 2200 movs r2, #0
+ 800098a: 4698 mov r8, r3
+ 800098c: 4691 mov r9, r2
+ 800098e: f04f 0200 mov.w r2, #0
+ 8000992: f04f 0300 mov.w r3, #0
+ 8000996: ea4f 03c9 mov.w r3, r9, lsl #3
+ 800099a: ea43 7358 orr.w r3, r3, r8, lsr #29
+ 800099e: ea4f 02c8 mov.w r2, r8, lsl #3
+ 80009a2: b28b uxth r3, r1
+ 80009a4: 2200 movs r2, #0
+ 80009a6: 461c mov r4, r3
+ 80009a8: 4615 mov r5, r2
+ 80009aa: f04f 0200 mov.w r2, #0
+ 80009ae: f04f 0300 mov.w r3, #0
+ 80009b2: 00eb lsls r3, r5, #3
+ 80009b4: ea43 7354 orr.w r3, r3, r4, lsr #29
+ 80009b8: 00e2 lsls r2, r4, #3
+ 80009ba: 460b mov r3, r1
+ 80009bc: 3307 adds r3, #7
+ 80009be: 08db lsrs r3, r3, #3
+ 80009c0: 00db lsls r3, r3, #3
+ 80009c2: ebad 0d03 sub.w sp, sp, r3
+ 80009c6: ab02 add r3, sp, #8
+ 80009c8: 3300 adds r3, #0
+ 80009ca: 61fb str r3, [r7, #28]
+ 80009cc: 2300 movs r3, #0
+ 80009ce: f887 3027 strb.w r3, [r7, #39] ; 0x27
+ 80009d2: e009 b.n 80009e8
+ 80009d4: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 80009d8: 69fa ldr r2, [r7, #28]
+ 80009da: 2100 movs r1, #0
+ 80009dc: 54d1 strb r1, [r2, r3]
+ 80009de: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 80009e2: 3301 adds r3, #1
+ 80009e4: f887 3027 strb.w r3, [r7, #39] ; 0x27
+ 80009e8: f897 3027 ldrb.w r3, [r7, #39] ; 0x27
+ 80009ec: b29b uxth r3, r3
+ 80009ee: 88fa ldrh r2, [r7, #6]
+ 80009f0: 429a cmp r2, r3
+ 80009f2: d8ef bhi.n 80009d4
+ 80009f4: 2200 movs r2, #0
+ 80009f6: 2110 movs r1, #16
+ 80009f8: f04f 4090 mov.w r0, #1207959552 ; 0x48000000
+ 80009fc: f001 fa62 bl 8001ec4
+ 8000a00: 2344 movs r3, #68 ; 0x44
+ 8000a02: 833b strh r3, [r7, #24]
+ 8000a04: 2300 movs r3, #0
+ 8000a06: 82bb strh r3, [r7, #20]
+ 8000a08: e00f b.n 8000a2a
+ 8000a0a: f107 0214 add.w r2, r7, #20
+ 8000a0e: f107 0118 add.w r1, r7, #24
+ 8000a12: f44f 737a mov.w r3, #1000 ; 0x3e8
+ 8000a16: 9300 str r3, [sp, #0]
+ 8000a18: 2302 movs r3, #2
+ 8000a1a: 68f8 ldr r0, [r7, #12]
+ 8000a1c: f004 f8f7 bl 8004c0e
+ 8000a20: f897 3026 ldrb.w r3, [r7, #38] ; 0x26
+ 8000a24: 3b01 subs r3, #1
+ 8000a26: f887 3026 strb.w r3, [r7, #38] ; 0x26
+ 8000a2a: 7d7b ldrb r3, [r7, #21]
+ 8000a2c: 2bff cmp r3, #255 ; 0xff
+ 8000a2e: d003 beq.n 8000a38
+ 8000a30: f897 3026 ldrb.w r3, [r7, #38] ; 0x26
+ 8000a34: 2b00 cmp r3, #0
+ 8000a36: d1e8 bne.n 8000a0a
+ 8000a38: f897 3026 ldrb.w r3, [r7, #38] ; 0x26
+ 8000a3c: 2b00 cmp r3, #0
+ 8000a3e: d101 bne.n 8000a44
+ 8000a40: 2300 movs r3, #0
+ 8000a42: e012 b.n 8000a6a
+ 8000a44: 88fb ldrh r3, [r7, #6]
+ 8000a46: 2b00 cmp r3, #0
+ 8000a48: d008 beq.n 8000a5c
+ 8000a4a: 88fb ldrh r3, [r7, #6]
+ 8000a4c: f44f 727a mov.w r2, #1000 ; 0x3e8
+ 8000a50: 9200 str r2, [sp, #0]
+ 8000a52: 68ba ldr r2, [r7, #8]
+ 8000a54: 69f9 ldr r1, [r7, #28]
+ 8000a56: 68f8 ldr r0, [r7, #12]
+ 8000a58: f004 f8d9 bl 8004c0e
+ 8000a5c: 2201 movs r2, #1
+ 8000a5e: 2110 movs r1, #16
+ 8000a60: f04f 4090 mov.w r0, #1207959552 ; 0x48000000
+ 8000a64: f001 fa2e bl 8001ec4
+ 8000a68: 7d7b ldrb r3, [r7, #21]
+ 8000a6a: 46b5 mov sp, r6
+ 8000a6c: 4618 mov r0, r3
+ 8000a6e: 372c adds r7, #44 ; 0x2c
+ 8000a70: 46bd mov sp, r7
+ 8000a72: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
+
+08000a76 :
+ 8000a76: b580 push {r7, lr}
+ 8000a78: b084 sub sp, #16
+ 8000a7a: af00 add r7, sp, #0
+ 8000a7c: 60f8 str r0, [r7, #12]
+ 8000a7e: 60b9 str r1, [r7, #8]
+ 8000a80: 603b str r3, [r7, #0]
+ 8000a82: 4613 mov r3, r2
+ 8000a84: 71fb strb r3, [r7, #7]
+ 8000a86: 2200 movs r2, #0
+ 8000a88: 2110 movs r1, #16
+ 8000a8a: f04f 4090 mov.w r0, #1207959552 ; 0x48000000
+ 8000a8e: f001 fa19 bl 8001ec4
+ 8000a92: 79fb ldrb r3, [r7, #7]
+ 8000a94: b29a uxth r2, r3
+ 8000a96: f44f 737a mov.w r3, #1000 ; 0x3e8
+ 8000a9a: 68b9 ldr r1, [r7, #8]
+ 8000a9c: 68f8 ldr r0, [r7, #12]
+ 8000a9e: f003 ff48 bl 8004932
+ 8000aa2: 2201 movs r2, #1
+ 8000aa4: 2110 movs r1, #16
+ 8000aa6: f04f 4090 mov.w r0, #1207959552 ; 0x48000000
+ 8000aaa: f001 fa0b bl 8001ec4
+ 8000aae: 8b3b ldrh r3, [r7, #24]
+ 8000ab0: 461a mov r2, r3
+ 8000ab2: 6839 ldr r1, [r7, #0]
+ 8000ab4: 68f8 ldr r0, [r7, #12]
+ 8000ab6: f7ff ff55 bl 8000964
+ 8000aba: 4603 mov r3, r0
+ 8000abc: 4618 mov r0, r3
+ 8000abe: 3710 adds r7, #16
+ 8000ac0: 46bd mov sp, r7
+ 8000ac2: bd80 pop {r7, pc}
+
+08000ac4 :
+ 8000ac4: b580 push {r7, lr}
+ 8000ac6: b086 sub sp, #24
+ 8000ac8: af02 add r7, sp, #8
+ 8000aca: 2300 movs r3, #0
+ 8000acc: 81fb strh r3, [r7, #14]
+ 8000ace: e021 b.n 8000b14
+ 8000ad0: 89fb ldrh r3, [r7, #14]
+ 8000ad2: 3301 adds r3, #1
+ 8000ad4: 4a14 ldr r2, [pc, #80] ; (8000b28 )
+ 8000ad6: 4413 add r3, r2
+ 8000ad8: 60bb str r3, [r7, #8]
+ 8000ada: 89fb ldrh r3, [r7, #14]
+ 8000adc: 4a12 ldr r2, [pc, #72] ; (8000b28 )
+ 8000ade: 5cd3 ldrb r3, [r2, r3]
+ 8000ae0: 71fb strb r3, [r7, #7]
+ 8000ae2: 79fb ldrb r3, [r7, #7]
+ 8000ae4: 2b10 cmp r3, #16
+ 8000ae6: d901 bls.n 8000aec
+ 8000ae8: 2304 movs r3, #4
+ 8000aea: e019 b.n 8000b20
+ 8000aec: 79fa ldrb r2, [r7, #7]
+ 8000aee: 2300 movs r3, #0
+ 8000af0: 9300 str r3, [sp, #0]
+ 8000af2: 2300 movs r3, #0
+ 8000af4: 68b9 ldr r1, [r7, #8]
+ 8000af6: 480d ldr r0, [pc, #52] ; (8000b2c )
+ 8000af8: f7ff ffbd bl 8000a76
+ 8000afc: 4603 mov r3, r0
+ 8000afe: 2bff cmp r3, #255 ; 0xff
+ 8000b00: d001 beq.n 8000b06
+ 8000b02: 2302 movs r3, #2
+ 8000b04: e00c b.n 8000b20
+ 8000b06: 79fb ldrb r3, [r7, #7]
+ 8000b08: b29a uxth r2, r3
+ 8000b0a: 89fb ldrh r3, [r7, #14]
+ 8000b0c: 4413 add r3, r2
+ 8000b0e: b29b uxth r3, r3
+ 8000b10: 3301 adds r3, #1
+ 8000b12: 81fb strh r3, [r7, #14]
+ 8000b14: 89fb ldrh r3, [r7, #14]
+ 8000b16: 4a04 ldr r2, [pc, #16] ; (8000b28 )
+ 8000b18: 5cd3 ldrb r3, [r2, r3]
+ 8000b1a: 2b00 cmp r3, #0
+ 8000b1c: d1d8 bne.n 8000ad0
+ 8000b1e: 2300 movs r3, #0
+ 8000b20: 4618 mov r0, r3
+ 8000b22: 3710 adds r7, #16
+ 8000b24: 46bd mov sp, r7
+ 8000b26: bd80 pop {r7, pc}
+ 8000b28: 200002d8 .word 0x200002d8
+ 8000b2c: 200006e8 .word 0x200006e8
+
+08000b30 :
+ 8000b30: b580 push {r7, lr}
+ 8000b32: b084 sub sp, #16
+ 8000b34: af02 add r7, sp, #8
+ 8000b36: 2301 movs r3, #1
+ 8000b38: 703b strb r3, [r7, #0]
+ 8000b3a: 2300 movs r3, #0
+ 8000b3c: 707b strb r3, [r7, #1]
+ 8000b3e: 2300 movs r3, #0
+ 8000b40: 70bb strb r3, [r7, #2]
+ 8000b42: 2300 movs r3, #0
+ 8000b44: 70fb strb r3, [r7, #3]
+ 8000b46: 2300 movs r3, #0
+ 8000b48: 713b strb r3, [r7, #4]
+ 8000b4a: 2300 movs r3, #0
+ 8000b4c: 717b strb r3, [r7, #5]
+ 8000b4e: 2300 movs r3, #0
+ 8000b50: 71bb strb r3, [r7, #6]
+ 8000b52: 2300 movs r3, #0
+ 8000b54: 71bb strb r3, [r7, #6]
+ 8000b56: 463b mov r3, r7
+ 8000b58: 4639 mov r1, r7
+ 8000b5a: 2208 movs r2, #8
+ 8000b5c: 9200 str r2, [sp, #0]
+ 8000b5e: 2201 movs r2, #1
+ 8000b60: 4803 ldr r0, [pc, #12] ; (8000b70 )
+ 8000b62: f7ff ff88 bl 8000a76
+ 8000b66: 783b ldrb r3, [r7, #0]
+ 8000b68: 4618 mov r0, r3
+ 8000b6a: 3708 adds r7, #8
+ 8000b6c: 46bd mov sp, r7
+ 8000b6e: bd80 pop {r7, pc}
+ 8000b70: 200006e8 .word 0x200006e8
+
+08000b74 :
+ 8000b74: b580 push {r7, lr}
+ 8000b76: b086 sub sp, #24
+ 8000b78: af02 add r7, sp, #8
+ 8000b7a: 4603 mov r3, r0
+ 8000b7c: 71fb strb r3, [r7, #7]
+ 8000b7e: 460b mov r3, r1
+ 8000b80: 71bb strb r3, [r7, #6]
+ 8000b82: 4613 mov r3, r2
+ 8000b84: 717b strb r3, [r7, #5]
+ 8000b86: 2320 movs r3, #32
+ 8000b88: 723b strb r3, [r7, #8]
+ 8000b8a: 79fb ldrb r3, [r7, #7]
+ 8000b8c: 727b strb r3, [r7, #9]
+ 8000b8e: 79bb ldrb r3, [r7, #6]
+ 8000b90: 72bb strb r3, [r7, #10]
+ 8000b92: 797b ldrb r3, [r7, #5]
+ 8000b94: 72fb strb r3, [r7, #11]
+ 8000b96: 2300 movs r3, #0
+ 8000b98: 733b strb r3, [r7, #12]
+ 8000b9a: 2300 movs r3, #0
+ 8000b9c: 737b strb r3, [r7, #13]
+ 8000b9e: 2300 movs r3, #0
+ 8000ba0: 73bb strb r3, [r7, #14]
+ 8000ba2: 2300 movs r3, #0
+ 8000ba4: 73bb strb r3, [r7, #14]
+ 8000ba6: f107 0308 add.w r3, r7, #8
+ 8000baa: f107 0108 add.w r1, r7, #8
+ 8000bae: 2208 movs r2, #8
+ 8000bb0: 9200 str r2, [sp, #0]
+ 8000bb2: 2204 movs r2, #4
+ 8000bb4: 4803 ldr r0, [pc, #12] ; (8000bc4 )
+ 8000bb6: f7ff ff5e bl 8000a76
+ 8000bba: bf00 nop
+ 8000bbc: 3710 adds r7, #16
+ 8000bbe: 46bd mov sp, r7
+ 8000bc0: bd80 pop {r7, pc}
+ 8000bc2: bf00 nop
+ 8000bc4: 200006e8 .word 0x200006e8
+
+08000bc8 :
+ 8000bc8: b590 push {r4, r7, lr}
+ 8000bca: b085 sub sp, #20
+ 8000bcc: af00 add r7, sp, #0
+ 8000bce: 4604 mov r4, r0
+ 8000bd0: 4608 mov r0, r1
+ 8000bd2: 4611 mov r1, r2
+ 8000bd4: 461a mov r2, r3
+ 8000bd6: 4623 mov r3, r4
+ 8000bd8: 71fb strb r3, [r7, #7]
+ 8000bda: 4603 mov r3, r0
+ 8000bdc: 71bb strb r3, [r7, #6]
+ 8000bde: 460b mov r3, r1
+ 8000be0: 80bb strh r3, [r7, #4]
+ 8000be2: 4613 mov r3, r2
+ 8000be4: 70fb strb r3, [r7, #3]
+ 8000be6: 2332 movs r3, #50 ; 0x32
+ 8000be8: 723b strb r3, [r7, #8]
+ 8000bea: 79fb ldrb r3, [r7, #7]
+ 8000bec: 727b strb r3, [r7, #9]
+ 8000bee: 79bb ldrb r3, [r7, #6]
+ 8000bf0: 72bb strb r3, [r7, #10]
+ 8000bf2: 88bb ldrh r3, [r7, #4]
+ 8000bf4: 0a1b lsrs r3, r3, #8
+ 8000bf6: b29b uxth r3, r3
+ 8000bf8: b2db uxtb r3, r3
+ 8000bfa: 72fb strb r3, [r7, #11]
+ 8000bfc: 88bb ldrh r3, [r7, #4]
+ 8000bfe: b2db uxtb r3, r3
+ 8000c00: 733b strb r3, [r7, #12]
+ 8000c02: 78fb ldrb r3, [r7, #3]
+ 8000c04: 737b strb r3, [r7, #13]
+ 8000c06: f897 3020 ldrb.w r3, [r7, #32]
+ 8000c0a: 73bb strb r3, [r7, #14]
+ 8000c0c: f897 3024 ldrb.w r3, [r7, #36] ; 0x24
+ 8000c10: 73fb strb r3, [r7, #15]
+ 8000c12: f107 0308 add.w r3, r7, #8
+ 8000c16: 2208 movs r2, #8
+ 8000c18: 4619 mov r1, r3
+ 8000c1a: 4803 ldr r0, [pc, #12] ; (8000c28 )
+ 8000c1c: f7ff fe84 bl 8000928
+ 8000c20: bf00 nop
+ 8000c22: 3714 adds r7, #20
+ 8000c24: 46bd mov sp, r7
+ 8000c26: bd90 pop {r4, r7, pc}
+ 8000c28: 200006e8 .word 0x200006e8
+
+08000c2c :
+ 8000c2c: b580 push {r7, lr}
+ 8000c2e: af00 add r7, sp, #0
+ 8000c30: 2201 movs r2, #1
+ 8000c32: f44f 7100 mov.w r1, #512 ; 0x200
+ 8000c36: 4807 ldr r0, [pc, #28] ; (8000c54 )
+ 8000c38: f001 f944 bl 8001ec4
+ 8000c3c: 2064 movs r0, #100 ; 0x64
+ 8000c3e: f000 fe43 bl 80018c8
+ 8000c42: 2200 movs r2, #0
+ 8000c44: f44f 7100 mov.w r1, #512 ; 0x200
+ 8000c48: 4802 ldr r0, [pc, #8] ; (8000c54 )
+ 8000c4a: f001 f93b bl 8001ec4
+ 8000c4e: bf00 nop
+ 8000c50: bd80 pop {r7, pc}
+ 8000c52: bf00 nop
+ 8000c54: 48000400 .word 0x48000400
+
+08000c58 :
+ 8000c58: b580 push {r7, lr}
+ 8000c5a: b082 sub sp, #8
+ 8000c5c: af00 add r7, sp, #0
+ 8000c5e: 4603 mov r3, r0
+ 8000c60: 71fb strb r3, [r7, #7]
+ 8000c62: 79fb ldrb r3, [r7, #7]
+ 8000c64: 2b00 cmp r3, #0
+ 8000c66: d009 beq.n 8000c7c
+ 8000c68: 2201 movs r2, #1
+ 8000c6a: 2102 movs r1, #2
+ 8000c6c: 480a ldr r0, [pc, #40] ; (8000c98 )
+ 8000c6e: f001 f929 bl 8001ec4
+ 8000c72: f44f 70fa mov.w r0, #500 ; 0x1f4
+ 8000c76: f000 fe27 bl 80018c8
+ 8000c7a: e008 b.n 8000c8e
+ 8000c7c: 2200 movs r2, #0
+ 8000c7e: 2102 movs r1, #2
+ 8000c80: 4805 ldr r0, [pc, #20] ; (8000c98 )
+ 8000c82: f001 f91f bl 8001ec4
+ 8000c86: f44f 70fa mov.w r0, #500 ; 0x1f4
+ 8000c8a: f000 fe1d bl 80018c8
+ 8000c8e: bf00 nop
+ 8000c90: 3708 adds r7, #8
+ 8000c92: 46bd mov sp, r7
+ 8000c94: bd80 pop {r7, pc}
+ 8000c96: bf00 nop
+ 8000c98: 48000400 .word 0x48000400
+
+08000c9c :
+ 8000c9c: b480 push {r7}
+ 8000c9e: af00 add r7, sp, #0
+ 8000ca0: bf00 nop
+ 8000ca2: 46bd mov sp, r7
+ 8000ca4: f85d 7b04 ldr.w r7, [sp], #4
+ 8000ca8: 4770 bx lr
+ ...
+
+08000cac <__NVIC_SystemReset>:
+ 8000cac: b480 push {r7}
+ 8000cae: af00 add r7, sp, #0
+ 8000cb0: f3bf 8f4f dsb sy
+ 8000cb4: bf00 nop
+ 8000cb6: 4b06 ldr r3, [pc, #24] ; (8000cd0 <__NVIC_SystemReset+0x24>)
+ 8000cb8: 68db ldr r3, [r3, #12]
+ 8000cba: f403 62e0 and.w r2, r3, #1792 ; 0x700
+ 8000cbe: 4904 ldr r1, [pc, #16] ; (8000cd0 <__NVIC_SystemReset+0x24>)
+ 8000cc0: 4b04 ldr r3, [pc, #16] ; (8000cd4 <__NVIC_SystemReset+0x28>)
+ 8000cc2: 4313 orrs r3, r2
+ 8000cc4: 60cb str r3, [r1, #12]
+ 8000cc6: f3bf 8f4f dsb sy
+ 8000cca: bf00 nop
+ 8000ccc: bf00 nop
+ 8000cce: e7fd b.n 8000ccc <__NVIC_SystemReset+0x20>
+ 8000cd0: e000ed00 .word 0xe000ed00
+ 8000cd4: 05fa0004 .word 0x05fa0004
+
+08000cd8 :
+ 8000cd8: b580 push {r7, lr}
+ 8000cda: b084 sub sp, #16
+ 8000cdc: af02 add r7, sp, #8
+ 8000cde: f000 fd7e bl 80017de
+ 8000ce2: f000 f887 bl 8000df4
+ 8000ce6: f000 f9bd bl 8001064
+ 8000cea: f000 f8d3 bl 8000e94
+ 8000cee: f000 f8ff bl 8000ef0
+ 8000cf2: f000 f941 bl 8000f78
+ 8000cf6: f000 f985 bl 8001004
+ 8000cfa: 4837 ldr r0, [pc, #220] ; (8000dd8 )
+ 8000cfc: f001 fad2 bl 80022a4
+ 8000d00: 4603 mov r3, r0
+ 8000d02: 717b strb r3, [r7, #5]
+ 8000d04: f7ff fdc2 bl 800088c
+ 8000d08: 200a movs r0, #10
+ 8000d0a: f000 fddd bl 80018c8
+ 8000d0e: 2001 movs r0, #1
+ 8000d10: f7ff ffa2 bl 8000c58
+ 8000d14: f7ff ff8a bl 8000c2c
+ 8000d18: 2014 movs r0, #20
+ 8000d1a: f000 fdd5 bl 80018c8
+ 8000d1e: f7ff fed1 bl 8000ac4
+ 8000d22: 4603 mov r3, r0
+ 8000d24: 713b strb r3, [r7, #4]
+ 8000d26: f7ff ff03 bl 8000b30
+ 8000d2a: 4603 mov r3, r0
+ 8000d2c: 70fb strb r3, [r7, #3]
+ 8000d2e: 2200 movs r2, #0
+ 8000d30: 2100 movs r1, #0
+ 8000d32: 2000 movs r0, #0
+ 8000d34: f7ff ff1e bl 8000b74
+ 8000d38: f7ff ffb0 bl 8000c9c
+ 8000d3c: 2308 movs r3, #8
+ 8000d3e: 9301 str r3, [sp, #4]
+ 8000d40: 2308 movs r3, #8
+ 8000d42: 9300 str r3, [sp, #0]
+ 8000d44: 2308 movs r3, #8
+ 8000d46: 2214 movs r2, #20
+ 8000d48: 2100 movs r1, #0
+ 8000d4a: 2000 movs r0, #0
+ 8000d4c: f7ff ff3c bl 8000bc8
+ 8000d50: 2300 movs r3, #0
+ 8000d52: 71fb strb r3, [r7, #7]
+ 8000d54: 4b21 ldr r3, [pc, #132] ; (8000ddc )
+ 8000d56: 781b ldrb r3, [r3, #0]
+ 8000d58: b2db uxtb r3, r3
+ 8000d5a: 2b00 cmp r3, #0
+ 8000d5c: d104 bne.n 8000d68
+ 8000d5e: 4b20 ldr r3, [pc, #128] ; (8000de0 )
+ 8000d60: 781b ldrb r3, [r3, #0]
+ 8000d62: b2db uxtb r3, r3
+ 8000d64: 2b00 cmp r3, #0
+ 8000d66: d025 beq.n 8000db4
+ 8000d68: 2301 movs r3, #1
+ 8000d6a: 71fb strb r3, [r7, #7]
+ 8000d6c: 4b1b ldr r3, [pc, #108] ; (8000ddc )
+ 8000d6e: 781b ldrb r3, [r3, #0]
+ 8000d70: b2db uxtb r3, r3
+ 8000d72: 2b00 cmp r3, #0
+ 8000d74: d003 beq.n 8000d7e
+ 8000d76: 4b19 ldr r3, [pc, #100] ; (8000ddc )
+ 8000d78: 2200 movs r2, #0
+ 8000d7a: 701a strb r2, [r3, #0]
+ 8000d7c: e01a b.n 8000db4
+ 8000d7e: 2300 movs r3, #0
+ 8000d80: 71bb strb r3, [r7, #6]
+ 8000d82: e009 b.n 8000d98
+ 8000d84: 79ba ldrb r2, [r7, #6]
+ 8000d86: 79bb ldrb r3, [r7, #6]
+ 8000d88: 4916 ldr r1, [pc, #88] ; (8000de4 )
+ 8000d8a: 5c8a ldrb r2, [r1, r2]
+ 8000d8c: b2d1 uxtb r1, r2
+ 8000d8e: 4a16 ldr r2, [pc, #88] ; (8000de8 )
+ 8000d90: 54d1 strb r1, [r2, r3]
+ 8000d92: 79bb ldrb r3, [r7, #6]
+ 8000d94: 3301 adds r3, #1
+ 8000d96: 71bb strb r3, [r7, #6]
+ 8000d98: 4b14 ldr r3, [pc, #80] ; (8000dec )
+ 8000d9a: 781b ldrb r3, [r3, #0]
+ 8000d9c: b2db uxtb r3, r3
+ 8000d9e: 79ba ldrb r2, [r7, #6]
+ 8000da0: 429a cmp r2, r3
+ 8000da2: d3ef bcc.n 8000d84
+ 8000da4: 4b11 ldr r3, [pc, #68] ; (8000dec )
+ 8000da6: 781b ldrb r3, [r3, #0]
+ 8000da8: b2da uxtb r2, r3
+ 8000daa: 4b11 ldr r3, [pc, #68] ; (8000df0 )
+ 8000dac: 701a strb r2, [r3, #0]
+ 8000dae: 4b0c ldr r3, [pc, #48] ; (8000de0 )
+ 8000db0: 2200 movs r2, #0
+ 8000db2: 701a strb r2, [r3, #0]
+ 8000db4: 79fb ldrb r3, [r7, #7]
+ 8000db6: 2b00 cmp r3, #0
+ 8000db8: d0cc beq.n 8000d54
+ 8000dba: 4807 ldr r0, [pc, #28] ; (8000dd8 )
+ 8000dbc: f001 fade bl 800237c
+ 8000dc0: 4603 mov r3, r0
+ 8000dc2: 2b20 cmp r3, #32
+ 8000dc4: d1c6 bne.n 8000d54
+ 8000dc6: 2300 movs r3, #0
+ 8000dc8: 71fb strb r3, [r7, #7]
+ 8000dca: 4803 ldr r0, [pc, #12] ; (8000dd8 )
+ 8000dcc: f001 fa6a bl 80022a4
+ 8000dd0: 4603 mov r3, r0
+ 8000dd2: 717b strb r3, [r7, #5]
+ 8000dd4: e7be b.n 8000d54
+ 8000dd6: bf00 nop
+ 8000dd8: 20000694 .word 0x20000694
+ 8000ddc: 2000048d .word 0x2000048d
+ 8000de0: 2000048e .word 0x2000048e
+ 8000de4: 20000594 .word 0x20000594
+ 8000de8: 20000494 .word 0x20000494
+ 8000dec: 20000490 .word 0x20000490
+ 8000df0: 20000491 .word 0x20000491
+
+08000df4 :
+ 8000df4: b580 push {r7, lr}
+ 8000df6: b096 sub sp, #88 ; 0x58
+ 8000df8: af00 add r7, sp, #0
+ 8000dfa: f107 0314 add.w r3, r7, #20
+ 8000dfe: 2244 movs r2, #68 ; 0x44
+ 8000e00: 2100 movs r1, #0
+ 8000e02: 4618 mov r0, r3
+ 8000e04: f004 ff22 bl 8005c4c
+ 8000e08: 463b mov r3, r7
+ 8000e0a: 2200 movs r2, #0
+ 8000e0c: 601a str r2, [r3, #0]
+ 8000e0e: 605a str r2, [r3, #4]
+ 8000e10: 609a str r2, [r3, #8]
+ 8000e12: 60da str r2, [r3, #12]
+ 8000e14: 611a str r2, [r3, #16]
+ 8000e16: f44f 7000 mov.w r0, #512 ; 0x200
+ 8000e1a: f002 fb2b bl 8003474
+ 8000e1e: 4603 mov r3, r0
+ 8000e20: 2b00 cmp r3, #0
+ 8000e22: d001 beq.n 8000e28
+ 8000e24: f000 fa06 bl 8001234
+ 8000e28: 2301 movs r3, #1
+ 8000e2a: 617b str r3, [r7, #20]
+ 8000e2c: f44f 3380 mov.w r3, #65536 ; 0x10000
+ 8000e30: 61bb str r3, [r7, #24]
+ 8000e32: 2302 movs r3, #2
+ 8000e34: 63fb str r3, [r7, #60] ; 0x3c
+ 8000e36: 2303 movs r3, #3
+ 8000e38: 643b str r3, [r7, #64] ; 0x40
+ 8000e3a: 2301 movs r3, #1
+ 8000e3c: 647b str r3, [r7, #68] ; 0x44
+ 8000e3e: 2308 movs r3, #8
+ 8000e40: 64bb str r3, [r7, #72] ; 0x48
+ 8000e42: 2307 movs r3, #7
+ 8000e44: 64fb str r3, [r7, #76] ; 0x4c
+ 8000e46: 2302 movs r3, #2
+ 8000e48: 653b str r3, [r7, #80] ; 0x50
+ 8000e4a: 2302 movs r3, #2
+ 8000e4c: 657b str r3, [r7, #84] ; 0x54
+ 8000e4e: f107 0314 add.w r3, r7, #20
+ 8000e52: 4618 mov r0, r3
+ 8000e54: f002 fb64 bl 8003520
+ 8000e58: 4603 mov r3, r0
+ 8000e5a: 2b00 cmp r3, #0
+ 8000e5c: d001 beq.n 8000e62
+ 8000e5e: f000 f9e9 bl 8001234
+ 8000e62: 230f movs r3, #15
+ 8000e64: 603b str r3, [r7, #0]
+ 8000e66: 2303 movs r3, #3
+ 8000e68: 607b str r3, [r7, #4]
+ 8000e6a: 2300 movs r3, #0
+ 8000e6c: 60bb str r3, [r7, #8]
+ 8000e6e: 2300 movs r3, #0
+ 8000e70: 60fb str r3, [r7, #12]
+ 8000e72: 2300 movs r3, #0
+ 8000e74: 613b str r3, [r7, #16]
+ 8000e76: 463b mov r3, r7
+ 8000e78: 2101 movs r1, #1
+ 8000e7a: 4618 mov r0, r3
+ 8000e7c: f002 ff64 bl 8003d48
+ 8000e80: 4603 mov r3, r0
+ 8000e82: 2b00 cmp r3, #0
+ 8000e84: d001 beq.n 8000e8a
+ 8000e86: f000 f9d5 bl 8001234
+ 8000e8a: bf00 nop
+ 8000e8c: 3758 adds r7, #88 ; 0x58
+ 8000e8e: 46bd mov sp, r7
+ 8000e90: bd80 pop {r7, pc}
+ ...
+
+08000e94 :
+ 8000e94: b580 push {r7, lr}
+ 8000e96: af00 add r7, sp, #0
+ 8000e98: 4b12 ldr r3, [pc, #72] ; (8000ee4 )
+ 8000e9a: 4a13 ldr r2, [pc, #76] ; (8000ee8 )
+ 8000e9c: 601a str r2, [r3, #0]
+ 8000e9e: 4b11 ldr r3, [pc, #68] ; (8000ee4 )
+ 8000ea0: 4a12 ldr r2, [pc, #72] ; (8000eec )
+ 8000ea2: 605a str r2, [r3, #4]
+ 8000ea4: 4b0f ldr r3, [pc, #60] ; (8000ee4 )
+ 8000ea6: 22e4 movs r2, #228 ; 0xe4
+ 8000ea8: 609a str r2, [r3, #8]
+ 8000eaa: 4b0e ldr r3, [pc, #56] ; (8000ee4 )
+ 8000eac: 2201 movs r2, #1
+ 8000eae: 60da str r2, [r3, #12]
+ 8000eb0: 4b0c ldr r3, [pc, #48] ; (8000ee4 )
+ 8000eb2: 2200 movs r2, #0
+ 8000eb4: 611a str r2, [r3, #16]
+ 8000eb6: 4b0b ldr r3, [pc, #44] ; (8000ee4 )
+ 8000eb8: 2200 movs r2, #0
+ 8000eba: 615a str r2, [r3, #20]
+ 8000ebc: 4b09 ldr r3, [pc, #36] ; (8000ee4 )
+ 8000ebe: 2200 movs r2, #0
+ 8000ec0: 619a str r2, [r3, #24]
+ 8000ec2: 4b08 ldr r3, [pc, #32] ; (8000ee4 )
+ 8000ec4: 2200 movs r2, #0
+ 8000ec6: 61da str r2, [r3, #28]
+ 8000ec8: 4b06 ldr r3, [pc, #24] ; (8000ee4 )
+ 8000eca: f44f 3200 mov.w r2, #131072 ; 0x20000
+ 8000ece: 621a str r2, [r3, #32]
+ 8000ed0: 4804 ldr r0, [pc, #16] ; (8000ee4 )
+ 8000ed2: f001 f80f bl 8001ef4
+ 8000ed6: 4603 mov r3, r0
+ 8000ed8: 2b00 cmp r3, #0
+ 8000eda: d001 beq.n 8000ee0
+ 8000edc: f000 f9aa bl 8001234
+ 8000ee0: bf00 nop
+ 8000ee2: bd80 pop {r7, pc}
+ 8000ee4: 20000694 .word 0x20000694
+ 8000ee8: 40005400 .word 0x40005400
+ 8000eec: 00707cbb .word 0x00707cbb
+
+08000ef0 :
+ 8000ef0: b580 push {r7, lr}
+ 8000ef2: af00 add r7, sp, #0
+ 8000ef4: 4b1e ldr r3, [pc, #120] ; (8000f70 )
+ 8000ef6: 4a1f ldr r2, [pc, #124] ; (8000f74 )
+ 8000ef8: 601a str r2, [r3, #0]
+ 8000efa: 4b1d ldr r3, [pc, #116] ; (8000f70 )
+ 8000efc: f44f 7282 mov.w r2, #260 ; 0x104
+ 8000f00: 605a str r2, [r3, #4]
+ 8000f02: 4b1b ldr r3, [pc, #108] ; (8000f70 )
+ 8000f04: 2200 movs r2, #0
+ 8000f06: 609a str r2, [r3, #8]
+ 8000f08: 4b19 ldr r3, [pc, #100] ; (8000f70 )
+ 8000f0a: f44f 62e0 mov.w r2, #1792 ; 0x700
+ 8000f0e: 60da str r2, [r3, #12]
+ 8000f10: 4b17 ldr r3, [pc, #92] ; (8000f70 )
+ 8000f12: 2200 movs r2, #0
+ 8000f14: 611a str r2, [r3, #16]
+ 8000f16: 4b16 ldr r3, [pc, #88] ; (8000f70 )
+ 8000f18: 2200 movs r2, #0
+ 8000f1a: 615a str r2, [r3, #20]
+ 8000f1c: 4b14 ldr r3, [pc, #80] ; (8000f70 )
+ 8000f1e: f44f 7200 mov.w r2, #512 ; 0x200
+ 8000f22: 619a str r2, [r3, #24]
+ 8000f24: 4b12 ldr r3, [pc, #72] ; (8000f70 )
+ 8000f26: 2218 movs r2, #24
+ 8000f28: 61da str r2, [r3, #28]
+ 8000f2a: 4b11 ldr r3, [pc, #68] ; (8000f70 )
+ 8000f2c: 2200 movs r2, #0
+ 8000f2e: 621a str r2, [r3, #32]
+ 8000f30: 4b0f ldr r3, [pc, #60] ; (8000f70 )
+ 8000f32: 2200 movs r2, #0
+ 8000f34: 625a str r2, [r3, #36] ; 0x24
+ 8000f36: 4b0e ldr r3, [pc, #56] ; (8000f70 )
+ 8000f38: 2200 movs r2, #0
+ 8000f3a: 629a str r2, [r3, #40] ; 0x28
+ 8000f3c: 4b0c ldr r3, [pc, #48] ; (8000f70 )
+ 8000f3e: 2207 movs r2, #7
+ 8000f40: 62da str r2, [r3, #44] ; 0x2c
+ 8000f42: 4b0b ldr r3, [pc, #44] ; (8000f70 )
+ 8000f44: 2200 movs r2, #0
+ 8000f46: 631a str r2, [r3, #48] ; 0x30
+ 8000f48: 4b09 ldr r3, [pc, #36] ; (8000f70 )
+ 8000f4a: 2208 movs r2, #8
+ 8000f4c: 635a str r2, [r3, #52] ; 0x34
+ 8000f4e: 4808 ldr r0, [pc, #32] ; (8000f70 )
+ 8000f50: f003 fc4c bl 80047ec
+ 8000f54: 4603 mov r3, r0
+ 8000f56: 2b00 cmp r3, #0
+ 8000f58: d001 beq.n 8000f5e
+ 8000f5a: f000 f96b bl 8001234
+ 8000f5e: 2201 movs r2, #1
+ 8000f60: 2110 movs r1, #16
+ 8000f62: f04f 4090 mov.w r0, #1207959552 ; 0x48000000
+ 8000f66: f000 ffad bl 8001ec4
+ 8000f6a: bf00 nop
+ 8000f6c: bd80 pop {r7, pc}
+ 8000f6e: bf00 nop
+ 8000f70: 200006e8 .word 0x200006e8
+ 8000f74: 40013000 .word 0x40013000
+
+08000f78 :
+ 8000f78: b580 push {r7, lr}
+ 8000f7a: af00 add r7, sp, #0
+ 8000f7c: 4b1e ldr r3, [pc, #120] ; (8000ff8 )
+ 8000f7e: 4a1f ldr r2, [pc, #124] ; (8000ffc )
+ 8000f80: 601a str r2, [r3, #0]
+ 8000f82: 4b1d ldr r3, [pc, #116] ; (8000ff8 )
+ 8000f84: f44f 7282 mov.w r2, #260 ; 0x104
+ 8000f88: 605a str r2, [r3, #4]
+ 8000f8a: 4b1b ldr r3, [pc, #108] ; (8000ff8 )
+ 8000f8c: 2200 movs r2, #0
+ 8000f8e: 609a str r2, [r3, #8]
+ 8000f90: 4b19 ldr r3, [pc, #100] ; (8000ff8 )
+ 8000f92: f44f 62e0 mov.w r2, #1792 ; 0x700
+ 8000f96: 60da str r2, [r3, #12]
+ 8000f98: 4b17 ldr r3, [pc, #92] ; (8000ff8 )
+ 8000f9a: 2200 movs r2, #0
+ 8000f9c: 611a str r2, [r3, #16]
+ 8000f9e: 4b16 ldr r3, [pc, #88] ; (8000ff8 )
+ 8000fa0: 2200 movs r2, #0
+ 8000fa2: 615a str r2, [r3, #20]
+ 8000fa4: 4b14 ldr r3, [pc, #80] ; (8000ff8 )
+ 8000fa6: f44f 7200 mov.w r2, #512 ; 0x200
+ 8000faa: 619a str r2, [r3, #24]
+ 8000fac: 4b12 ldr r3, [pc, #72] ; (8000ff8 )
+ 8000fae: 2218 movs r2, #24
+ 8000fb0: 61da str r2, [r3, #28]
+ 8000fb2: 4b11 ldr r3, [pc, #68] ; (8000ff8 )
+ 8000fb4: 2200 movs r2, #0
+ 8000fb6: 621a str r2, [r3, #32]
+ 8000fb8: 4b0f ldr r3, [pc, #60] ; (8000ff8 )
+ 8000fba: 2200 movs r2, #0
+ 8000fbc: 625a str r2, [r3, #36] ; 0x24
+ 8000fbe: 4b0e ldr r3, [pc, #56] ; (8000ff8 )
+ 8000fc0: 2200 movs r2, #0
+ 8000fc2: 629a str r2, [r3, #40] ; 0x28
+ 8000fc4: 4b0c ldr r3, [pc, #48] ; (8000ff8 )
+ 8000fc6: 2207 movs r2, #7
+ 8000fc8: 62da str r2, [r3, #44] ; 0x2c
+ 8000fca: 4b0b ldr r3, [pc, #44] ; (8000ff8 )
+ 8000fcc: 2200 movs r2, #0
+ 8000fce: 631a str r2, [r3, #48] ; 0x30
+ 8000fd0: 4b09 ldr r3, [pc, #36] ; (8000ff8 )
+ 8000fd2: 2208 movs r2, #8
+ 8000fd4: 635a str r2, [r3, #52] ; 0x34
+ 8000fd6: 4808 ldr r0, [pc, #32] ; (8000ff8 )
+ 8000fd8: f003 fc08 bl 80047ec
+ 8000fdc: 4603 mov r3, r0
+ 8000fde: 2b00 cmp r3, #0
+ 8000fe0: d001 beq.n 8000fe6
+ 8000fe2: f000 f927 bl 8001234
+ 8000fe6: 2201 movs r2, #1
+ 8000fe8: f44f 5180 mov.w r1, #4096 ; 0x1000
+ 8000fec: 4804 ldr r0, [pc, #16] ; (8001000 )
+ 8000fee: f000 ff69 bl 8001ec4
+ 8000ff2: bf00 nop
+ 8000ff4: bd80 pop {r7, pc}
+ 8000ff6: bf00 nop
+ 8000ff8: 2000074c .word 0x2000074c
+ 8000ffc: 40003800 .word 0x40003800
+ 8001000: 48000400 .word 0x48000400
+
+08001004