MAX11410 high speed 24-bit Delta-Sigma ADC
Dependents: MAX11410BOB_24bit_ADC MAX11410BOB_Serial_Tester
Diff: MAX11410.cpp
- Revision:
- 11:abde565b8497
- Parent:
- 10:7adee48a7f82
- Child:
- 12:daecd93dd33a
--- a/MAX11410.cpp Tue Feb 11 01:32:24 2020 +0000 +++ b/MAX11410.cpp Fri Feb 14 03:33:57 2020 +0000 @@ -661,7 +661,7 @@ //---------------------------------------- // Write a MAX11410 register. // -// CMD_1aaa_aaaa_REGISTER_READ bit is cleared 0 indicating a write operation. +// CMDOP_1aaa_aaaa_ReadRegister bit is cleared 0 indicating a write operation. // // MAX11410 register length can be determined by function RegSize. // @@ -695,7 +695,7 @@ //---------------------------------------- // switch based on register address szie RegSize(commandByte) - commandByte = (MAX11410_CMD_enum_t)((commandByte &~ CMD_1aaa_aaaa_REGISTER_READ) & 0xFF); + commandByte = (MAX11410_CMD_enum_t)((commandByte &~ CMDOP_1aaa_aaaa_ReadRegister) & 0xFF); switch(RegSize(commandByte)) { case 8: // 8-bit register size @@ -744,7 +744,7 @@ //---------------------------------------- // Read an 8-bit MAX11410 register // -// CMD_1aaa_aaaa_REGISTER_READ bit is set 1 indicating a read operation. +// CMDOP_1aaa_aaaa_ReadRegister bit is set 1 indicating a read operation. // // MAX11410 register length can be determined by function RegSize. // @@ -779,7 +779,7 @@ //---------------------------------------- // switch based on register address szie RegSize(regAddress) - commandByte = (MAX11410_CMD_enum_t)((commandByte &~ CMD_1aaa_aaaa_REGISTER_READ) & 0xFF); + commandByte = (MAX11410_CMD_enum_t)((commandByte &~ CMDOP_1aaa_aaaa_ReadRegister) & 0xFF); switch(RegSize(commandByte)) { case 8: // 8-bit register size @@ -787,7 +787,7 @@ // SPI 16-bit transfer // SPI MOSI = 1aaa_aaaa_0000_0000 // SPI MISO = xxxx_xxxx_dddd_dddd - int16_t mosiData16 = ((CMD_1aaa_aaaa_REGISTER_READ | (int16_t)commandByte) << 8) | ((int16_t)0); + int16_t mosiData16 = ((CMDOP_1aaa_aaaa_ReadRegister | (int16_t)commandByte) << 8) | ((int16_t)0); SPIoutputCS(0); int16_t misoData16 = SPIreadWrite16bits(mosiData16); SPIoutputCS(1); @@ -802,7 +802,7 @@ // SPI MISO = xxxx_xxxx_dddd_dddd_dddd_dddd // SPI MOSI = 1aaa_aaaa_0000_0000_0000_0000_0000_0000 // SPI MISO = xxxx_xxxx_dddd_dddd_dddd_dddd_xxxx_xxxx - int32_t mosiData32 = ((CMD_1aaa_aaaa_REGISTER_READ | (int32_t)commandByte) << 24); + int32_t mosiData32 = ((CMDOP_1aaa_aaaa_ReadRegister | (int32_t)commandByte) << 24); SPIoutputCS(0); int32_t misoData32 = SPIreadWrite32bits(mosiData32); SPIoutputCS(1); @@ -814,7 +814,7 @@ // SPI 32-bit transfer // SPI MOSI = 1aaa_aaaa_0000_0000_0000_0000_0000_0000 // SPI MISO = xxxx_xxxx_dddd_dddd_dddd_dddd_dddd_dddd - int32_t mosiData32 = ((CMD_1aaa_aaaa_REGISTER_READ | (int32_t)commandByte) << 24); + int32_t mosiData32 = ((CMDOP_1aaa_aaaa_ReadRegister | (int32_t)commandByte) << 24); SPIoutputCS(0); int32_t misoData32 = SPIreadWrite32bits(mosiData32); SPIoutputCS(1); @@ -837,7 +837,7 @@ //---------------------------------------- // switch based on register address value regAddress - commandByte = (MAX11410_CMD_enum_t)((commandByte &~ CMD_1aaa_aaaa_REGISTER_READ) & 0xFF); + commandByte = (MAX11410_CMD_enum_t)((commandByte &~ CMDOP_1aaa_aaaa_ReadRegister) & 0xFF); switch(commandByte) { default: @@ -961,6 +961,25 @@ } //---------------------------------------- +// Decode operation from commandByte +// +// @return operation such as idle, read register, write register, etc. +MAX11410::MAX11410_CMDOP_enum_t MAX11410::DecodeCommand(MAX11410_CMD_enum_t commandByte) +{ + + //---------------------------------------- + // decode operation from command byte + switch (commandByte & 0x80) + { + default: + case CMDOP_0aaa_aaaa_WriteRegister: + return CMDOP_0aaa_aaaa_WriteRegister; + case CMDOP_1aaa_aaaa_ReadRegister: + return CMDOP_1aaa_aaaa_ReadRegister; + } +} + +//---------------------------------------- // Return the address field of a MAX11410 register // // @return register address field as given in datasheet @@ -969,7 +988,7 @@ //---------------------------------------- // extract register address value from command byte - return (uint8_t)((commandByte &~ CMD_1aaa_aaaa_REGISTER_READ) & 0xFF); + return (uint8_t)((commandByte &~ CMDOP_1aaa_aaaa_ReadRegister) & 0xFF); } //---------------------------------------- @@ -981,7 +1000,7 @@ //---------------------------------------- // Test whether a command byte is a register read command - return (commandByte & CMD_1aaa_aaaa_REGISTER_READ) ? 1 : 0; + return (commandByte & CMDOP_1aaa_aaaa_ReadRegister) ? 1 : 0; } //---------------------------------------- @@ -993,7 +1012,7 @@ //---------------------------------------- // switch based on register address value regAddress - commandByte = (MAX11410_CMD_enum_t)((commandByte &~ CMD_1aaa_aaaa_REGISTER_READ) & 0xFF); + commandByte = (MAX11410_CMD_enum_t)((commandByte &~ CMDOP_1aaa_aaaa_ReadRegister) & 0xFF); switch(commandByte) { default: