Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
ADS8344.c File Reference
#include "ADS8344.h"
#include "LPC21xx.h"
#include "armVIC.h"
#include <BOARD_CONFIG>
#include "led.h"
#include "mcu_periph/spi.h"
+ Include dependency graph for ADS8344.c:

Go to the source code of this file.

Macros

#define ADS8344_SS_IODIR   IO0DIR
 
#define ADS8344_SS_IOSET   IO0SET
 
#define ADS8344_SS_IOCLR   IO0CLR
 
#define ADS8344_SS_PIN   20
 
#define ADS8344Select()   SetBit(ADS8344_SS_IOCLR,ADS8344_SS_PIN)
 
#define ADS8344Unselect()   SetBit(ADS8344_SS_IOSET,ADS8344_SS_PIN)
 
#define POWER_MODE   (1 << 1 | 1)
 
#define SGL_DIF   1
 
#define SSP_DSS   0x07 << 0 /* data size : 8 bits */
 
#define SSP_FRF   0x00 << 4 /* frame format : SPI */
 
#define SSP_CPOL   0x00 << 6 /* clock polarity : idle low */
 
#define SSP_CPHA   0x00 << 7 /* clock phase : 1 */
 
#define SSP_SCR   0x0E << 8 /* serial clock rate : 1MHz */
 
#define SSP_LBM   0x00 << 0 /* loopback mode : disabled */
 
#define SSP_SSE   0x00 << 1 /* SSP enable : disabled */
 
#define SSP_MS   0x00 << 2 /* master slave mode : master */
 
#define SSP_SOD   0x00 << 3 /* slave output disable : disabled */
 
#define SPI1_VIC_SLOT   7
 

Functions

static void SPI1_ISR (void)
 
void ADS8344_init (void)
 
static void read_values (void)
 
static void send_request (void)
 
void ADS8344_start (void)
 

Variables

bool ADS8344_available
 
uint16_t ADS8344_values [NB_CHANNELS]
 
static uint8_t channel
 

Macro Definition Documentation

◆ ADS8344_SS_IOCLR

#define ADS8344_SS_IOCLR   IO0CLR

Definition at line 32 of file ADS8344.c.

◆ ADS8344_SS_IODIR

#define ADS8344_SS_IODIR   IO0DIR

Definition at line 30 of file ADS8344.c.

◆ ADS8344_SS_IOSET

#define ADS8344_SS_IOSET   IO0SET

Definition at line 31 of file ADS8344.c.

◆ ADS8344_SS_PIN

#define ADS8344_SS_PIN   20

Definition at line 33 of file ADS8344.c.

◆ ADS8344Select

#define ADS8344Select ( )    SetBit(ADS8344_SS_IOCLR,ADS8344_SS_PIN)

Definition at line 35 of file ADS8344.c.

◆ ADS8344Unselect

#define ADS8344Unselect ( )    SetBit(ADS8344_SS_IOSET,ADS8344_SS_PIN)

Definition at line 36 of file ADS8344.c.

◆ POWER_MODE

#define POWER_MODE   (1 << 1 | 1)

Definition at line 41 of file ADS8344.c.

◆ SGL_DIF

#define SGL_DIF   1

Definition at line 42 of file ADS8344.c.

◆ SPI1_VIC_SLOT

#define SPI1_VIC_SLOT   7

Definition at line 85 of file ADS8344.c.

◆ SSP_CPHA

#define SSP_CPHA   0x00 << 7 /* clock phase : 1 */

Definition at line 69 of file ADS8344.c.

◆ SSP_CPOL

#define SSP_CPOL   0x00 << 6 /* clock polarity : idle low */

Definition at line 68 of file ADS8344.c.

◆ SSP_DSS

#define SSP_DSS   0x07 << 0 /* data size : 8 bits */

Definition at line 66 of file ADS8344.c.

◆ SSP_FRF

#define SSP_FRF   0x00 << 4 /* frame format : SPI */

Definition at line 67 of file ADS8344.c.

◆ SSP_LBM

#define SSP_LBM   0x00 << 0 /* loopback mode : disabled */

Definition at line 73 of file ADS8344.c.

◆ SSP_MS

#define SSP_MS   0x00 << 2 /* master slave mode : master */

Definition at line 75 of file ADS8344.c.

◆ SSP_SCR

#define SSP_SCR   0x0E << 8 /* serial clock rate : 1MHz */

Definition at line 70 of file ADS8344.c.

◆ SSP_SOD

#define SSP_SOD   0x00 << 3 /* slave output disable : disabled */

Definition at line 76 of file ADS8344.c.

◆ SSP_SSE

#define SSP_SSE   0x00 << 1 /* SSP enable : disabled */

Definition at line 74 of file ADS8344.c.

Function Documentation

◆ ADS8344_init()

void ADS8344_init ( void  )

◆ ADS8344_start()

void ADS8344_start ( void  )

Definition at line 132 of file ADS8344.c.

References ADS8344Select, send_request(), SpiClearRti(), SpiEnable, and SpiEnableRti().

+ Here is the call graph for this function:

◆ read_values()

static void read_values ( void  )
inlinestatic

Definition at line 113 of file ADS8344.c.

References ADS8344_values, channel, foo, and SSPDR.

Referenced by SPI1_ISR().

+ Here is the caller graph for this function:

◆ send_request()

static void send_request ( void  )
inlinestatic

Definition at line 122 of file ADS8344.c.

References channel, POWER_MODE, SGL_DIF, and SSPDR.

Referenced by ADS8344_start(), and SPI1_ISR().

+ Here is the caller graph for this function:

◆ SPI1_ISR()

void SPI1_ISR ( void  )
static

Definition at line 141 of file ADS8344.c.

References ADS8344_available, channel, ISR_ENTRY, ISR_EXIT, LED_TOGGLE, read_values(), send_request(), SpiClearRti(), and VICVectAddr.

Referenced by ADS8344_init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ ADS8344_available

bool ADS8344_available

Definition at line 38 of file ADS8344.c.

Referenced by ADS8344_init(), and SPI1_ISR().

◆ ADS8344_values

uint16_t ADS8344_values[NB_CHANNELS]

Definition at line 39 of file ADS8344.c.

Referenced by read_values().

◆ channel