kopia lustrzana https://github.com/bristol-seds/pico-tracker
				
				
				
			Culled various compiler warnings
							rodzic
							
								
									d767cc405d
								
							
						
					
					
						commit
						7a94195d95
					
				| 
						 | 
					@ -87,6 +87,7 @@ enum ax25_state_t {
 | 
				
			||||||
  AX25_IDLE,
 | 
					  AX25_IDLE,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void ax25_gpio1_pwm_init(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ax25_start(char* addresses, uint32_t addresses_len,
 | 
					void ax25_start(char* addresses, uint32_t addresses_len,
 | 
				
			||||||
                char* information, uint32_t information_len);
 | 
					                char* information, uint32_t information_len);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -328,75 +328,13 @@ void _si_trx_transfer(int tx_count, int rx_count, uint8_t *data);
 | 
				
			||||||
#define _si_trx_hf_clock_disable(void)		\
 | 
					#define _si_trx_hf_clock_disable(void)		\
 | 
				
			||||||
  /* NOT USED: Clock is always enabled */
 | 
					  /* NOT USED: Clock is always enabled */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * =============================================================================
 | 
					 * Convenience function for 16-bit transfer functions
 | 
				
			||||||
 *                         Helper Functions
 | 
					 | 
				
			||||||
 * =============================================================================
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * Convenience transfer functions
 | 
					 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static void _si_trx_transfer_uint16(uint16_t value)
 | 
					static void _si_trx_transfer_uint16(uint16_t value)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  _si_trx_transfer(2, 0, (uint8_t*)&value);
 | 
					  _si_trx_transfer(2, 0, (uint8_t*)&value);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
static void _si_trx_set_property_8(uint8_t group, uint8_t property, uint8_t value)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  uint8_t buffer[5];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  buffer[0] = SI_CMD_SET_PROPERTY;
 | 
					 | 
				
			||||||
  buffer[1] = group;
 | 
					 | 
				
			||||||
  buffer[2] = 1;
 | 
					 | 
				
			||||||
  buffer[3] = property;
 | 
					 | 
				
			||||||
  buffer[4] = value;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  _si_trx_transfer(5, 0, buffer);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
static void _si_trx_set_property_16(uint8_t group, uint8_t property, uint16_t value)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  uint8_t buffer[6];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  buffer[0] = SI_CMD_SET_PROPERTY;
 | 
					 | 
				
			||||||
  buffer[1] = group;
 | 
					 | 
				
			||||||
  buffer[2] = 2;
 | 
					 | 
				
			||||||
  buffer[3] = property;
 | 
					 | 
				
			||||||
  buffer[4] = (value >> 8);
 | 
					 | 
				
			||||||
  buffer[5] = (value);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  _si_trx_transfer(6, 0, buffer);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
static void _si_trx_set_property_24(uint8_t group, uint8_t property, uint32_t value)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  uint8_t buffer[8];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  buffer[0] = SI_CMD_SET_PROPERTY;
 | 
					 | 
				
			||||||
  buffer[1] = group;
 | 
					 | 
				
			||||||
  buffer[2] = 3;
 | 
					 | 
				
			||||||
  buffer[3] = property;
 | 
					 | 
				
			||||||
  buffer[4] = (value >> 16);
 | 
					 | 
				
			||||||
  buffer[5] = (value >> 8);
 | 
					 | 
				
			||||||
  buffer[6] = (value);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  _si_trx_transfer(7, 0, buffer);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
static void _si_trx_set_property_32(uint8_t group, uint8_t property, uint32_t value)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  uint8_t buffer[8];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  buffer[0] = SI_CMD_SET_PROPERTY;
 | 
					 | 
				
			||||||
  buffer[1] = group;
 | 
					 | 
				
			||||||
  buffer[2] = 4;
 | 
					 | 
				
			||||||
  buffer[3] = property;
 | 
					 | 
				
			||||||
  buffer[4] = (value >> 24);
 | 
					 | 
				
			||||||
  buffer[5] = (value >> 16);
 | 
					 | 
				
			||||||
  buffer[6] = (value >> 8);
 | 
					 | 
				
			||||||
  buffer[7] = (value);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  _si_trx_transfer(8, 0, buffer);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * State changes
 | 
					 * State changes
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,7 +45,7 @@ uint8_t is_backlog_valid[BACKLOG_COUNT] = {};
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * The index at which we are currently writing backlog
 | 
					 * The index at which we are currently writing backlog
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern uint16_t backlog_write_index = 0;
 | 
					uint16_t backlog_write_index = 0;
 | 
				
			||||||
uint8_t is_write_index_loaded = 0;
 | 
					uint8_t is_write_index_loaded = 0;
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * The index at which we are currently replaying backlog
 | 
					 * The index at which we are currently replaying backlog
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,7 +34,7 @@
 | 
				
			||||||
#include "telemetry.h"
 | 
					#include "telemetry.h"
 | 
				
			||||||
#include "watchdog.h"
 | 
					#include "watchdog.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct tracker_datapoint datapoint = {};
 | 
					struct tracker_datapoint datapoint = {.time={0}};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void xosc_measure_callback(uint32_t result)
 | 
					void xosc_measure_callback(uint32_t result)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -869,6 +869,7 @@ static void _spi_transceive_buffer(SercomSpi* const hw)
 | 
				
			||||||
static void _spi_read(SercomSpi* const hw)
 | 
					static void _spi_read(SercomSpi* const hw)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  uint16_t received_data = (hw->DATA.reg & SERCOM_SPI_DATA_MASK);
 | 
					  uint16_t received_data = (hw->DATA.reg & SERCOM_SPI_DATA_MASK);
 | 
				
			||||||
 | 
					  (void)received_data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* Read value will be at least 8-bits long */
 | 
					  /* Read value will be at least 8-bits long */
 | 
				
			||||||
  /* *(module->rx_buffer_ptr) = received_data; */
 | 
					  /* *(module->rx_buffer_ptr) = received_data; */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -100,6 +100,11 @@ enum sercom_status_t usart_init(SercomUsart* const hw,
 | 
				
			||||||
  /* Sanity check arguments */
 | 
					  /* Sanity check arguments */
 | 
				
			||||||
  assert(hw);
 | 
					  assert(hw);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Unused */
 | 
				
			||||||
 | 
					  (void)encoding_format_enable;
 | 
				
			||||||
 | 
					  (void)receive_pulse_length;
 | 
				
			||||||
 | 
					  (void)collision_detection_enable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  enum sercom_status_t status_code = SERCOM_STATUS_OK;
 | 
					  enum sercom_status_t status_code = SERCOM_STATUS_OK;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  uint32_t sercom_index = _sercom_get_sercom_inst_index((Sercom*)hw);
 | 
					  uint32_t sercom_index = _sercom_get_sercom_inst_index((Sercom*)hw);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -30,12 +30,83 @@
 | 
				
			||||||
#include "si_trx_defs.h"
 | 
					#include "si_trx_defs.h"
 | 
				
			||||||
#include "hw_config.h"
 | 
					#include "hw_config.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define VCXO_FREQUENCY	SI4xxx_TCXO_FREQUENCY
 | 
					#define VCXO_FREQUENCY	SI4xxx_TCXO_FREQUENCY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * =============================================================================
 | 
				
			||||||
 | 
					 *                         Helper Functions
 | 
				
			||||||
 | 
					 * =============================================================================
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Convenience transfer functions
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void _si_trx_set_property_8(uint8_t group, uint8_t property, uint8_t value)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  uint8_t buffer[5];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  buffer[0] = SI_CMD_SET_PROPERTY;
 | 
				
			||||||
 | 
					  buffer[1] = group;
 | 
				
			||||||
 | 
					  buffer[2] = 1;
 | 
				
			||||||
 | 
					  buffer[3] = property;
 | 
				
			||||||
 | 
					  buffer[4] = value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _si_trx_transfer(5, 0, buffer);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					static void _si_trx_set_property_16(uint8_t group, uint8_t property, uint16_t value)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  uint8_t buffer[6];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  buffer[0] = SI_CMD_SET_PROPERTY;
 | 
				
			||||||
 | 
					  buffer[1] = group;
 | 
				
			||||||
 | 
					  buffer[2] = 2;
 | 
				
			||||||
 | 
					  buffer[3] = property;
 | 
				
			||||||
 | 
					  buffer[4] = (value >> 8);
 | 
				
			||||||
 | 
					  buffer[5] = (value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _si_trx_transfer(6, 0, buffer);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					static void _si_trx_set_property_24(uint8_t group, uint8_t property, uint32_t value)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  uint8_t buffer[8];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  buffer[0] = SI_CMD_SET_PROPERTY;
 | 
				
			||||||
 | 
					  buffer[1] = group;
 | 
				
			||||||
 | 
					  buffer[2] = 3;
 | 
				
			||||||
 | 
					  buffer[3] = property;
 | 
				
			||||||
 | 
					  buffer[4] = (value >> 16);
 | 
				
			||||||
 | 
					  buffer[5] = (value >> 8);
 | 
				
			||||||
 | 
					  buffer[6] = (value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _si_trx_transfer(7, 0, buffer);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					static void _si_trx_set_property_32(uint8_t group, uint8_t property, uint32_t value)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  uint8_t buffer[8];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  buffer[0] = SI_CMD_SET_PROPERTY;
 | 
				
			||||||
 | 
					  buffer[1] = group;
 | 
				
			||||||
 | 
					  buffer[2] = 4;
 | 
				
			||||||
 | 
					  buffer[3] = property;
 | 
				
			||||||
 | 
					  buffer[4] = (value >> 24);
 | 
				
			||||||
 | 
					  buffer[5] = (value >> 16);
 | 
				
			||||||
 | 
					  buffer[6] = (value >> 8);
 | 
				
			||||||
 | 
					  buffer[7] = (value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _si_trx_transfer(8, 0, buffer);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void _si_trx_transfer_nocts(int tx_count, int rx_count, uint8_t *data)
 | 
					void _si_trx_transfer_nocts(int tx_count, int rx_count, uint8_t *data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  /* Unused */
 | 
				
			||||||
 | 
					  (void)rx_count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* Send command */
 | 
					  /* Send command */
 | 
				
			||||||
  _si_trx_cs_enable();
 | 
					  _si_trx_cs_enable();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -170,6 +170,9 @@ enum status_code events_attach_user(uint8_t channel, uint8_t user_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum status_code events_detach_user(uint8_t channel, uint8_t user_id)
 | 
					enum status_code events_detach_user(uint8_t channel, uint8_t user_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  /* Unused */
 | 
				
			||||||
 | 
					  (void)channel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* Write 0 to the channel bit field to select no input */
 | 
					  /* Write 0 to the channel bit field to select no input */
 | 
				
			||||||
  EVSYS->USER.reg = EVSYS_USER_USER(user_id);
 | 
					  EVSYS->USER.reg = EVSYS_USER_USER(user_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -192,8 +192,6 @@ void watchdog_init(void)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void WDT_Handler(void)
 | 
					void WDT_Handler(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  Wdt *const hw = WDT;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* Bring the system into a safe state */
 | 
					  /* Bring the system into a safe state */
 | 
				
			||||||
  si_trx_shutdown();
 | 
					  si_trx_shutdown();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Ładowanie…
	
		Reference in New Issue