Skip to content
Snippets Groups Projects
Commit 8f0ad1ba authored by Michael DM Dryden's avatar Michael DM Dryden
Browse files

Support for switching ADS1255 MUX settings.

parent c8d6a1f2
No related merge requests found
......@@ -107,6 +107,24 @@ void ads1255_setup(uint8_t buff, uint8_t rate, uint8_t pga){
return;
}
void ads1255_mux(uint8_t channel){
#if BOARD_VER_MAJOR == 1 && BOARD_VER_MINOR == 2
uint8_t command_buffer[6] = {0x51,0x03,channel}; // write reg 1, write 1 register, MUX AIN0
usart_spi_select_device(&USARTE1, &spi_device_conf);
usart_spi_transmit(&USARTE1, ADS_SDATAC);
usart_spi_write_packet(&USARTE1, (uint8_t*)&command_buffer, 3);
usart_spi_transmit(&USARTE1, ADS_SYNC);
usart_spi_transmit(&USARTE1, ADS_SELFCAL);
while (arch_ioport_get_pin_level(IOPORT_CREATE_PIN(PORTD, 5)))
;
usart_spi_deselect_device(&USARTE1, &spi_device_conf);
return;
#endif
}
void ads1255_standby(void){
usart_spi_select_device(&USARTE1, &spi_device_conf);
usart_spi_transmit(&USARTE1, ADS_STANDBY);
......
......@@ -59,6 +59,9 @@
#define ADS_BUFF_OFF 0b0000 //0x0
#define ADS_BUFF_ON 0b0010 //0x2
#define ADS_MUX_VOLT 0x08
#define ADS_MUX_POT 0x18
void ads1255_sync(void);
void ads1255_init_pins(void);
void ads1255_init_module(void);
......@@ -68,6 +71,7 @@ int32_t ads1255_read_fast24(void);
void ads1255_reg_read(uint8_t address);
void ads1255_reset(void);
void ads1255_setup(uint8_t buff, uint8_t rate, uint8_t pga);
void ads1255_mux(uint8_t channel);
void ads1255_standby(void);
void ads1255_wakeup(void);
void ads1255_rdatac(void);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment