Skip to content

Commit a0ad1c4

Browse files
use write buffer
1 parent 1dea21e commit a0ad1c4

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

stm32-modules/include/vacuum-module/vacuum-module/MPRLL0025PA00001A.hpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ constexpr uint32_t OUTPUT_RANGE_COUNTS = OUTPUT_MAX - OUTPUT_MIN;
2828
// range for this particular model is 0-25 PSI
2929
constexpr uint16_t PRESSURE_RANGE_PSI = 25;
3030

31-
constexpr uint8_t PRESSURE_FRAME_LEN = 4;
31+
constexpr uint8_t PRESSURE_FRAME_LEN = 10;
3232
std::array<uint8_t, PRESSURE_FRAME_LEN> READ_BUFF = {0};
33+
std::array<uint8_t, PRESSURE_FRAME_LEN> WRITE = {MEASURE_PRESSURE_COMMAND};
34+
constexpr int retries = 3;
3335

3436
struct StatusByte {
3537
uint8_t power_indication;
@@ -46,11 +48,11 @@ class MPRLL0025PA00001 {
4648
}
4749
}
4850

49-
auto read_pressure(int retries) -> uint16_t {
51+
auto read_pressure() -> uint16_t {
5052
bool sensor_busy = true;
5153

52-
_policy->i2c_write(DEVICE_ADDRESS, MEASURE_PRESSURE_COMMAND, READ_BUFF,
53-
0);
54+
_policy->i2c_master_write(DEVICE_ADDRESS, MEASURE_PRESSURE_COMMAND,
55+
WRITE_BUFF, 1);
5456

5557
for (int i = 0; i < (retries + 1); i++) {
5658
_policy->i2c_master_read(DEV_ADDRESS, READ_BUFF, 4);

stm32-modules/include/vacuum-module/vacuum-module/lps22df.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ constexpr uint16_t SENSOR_SENSITIVITY = 4096;
2929
// bit 0 in the status byte is for pressure reading available
3030
constexpr uint8_t PRESSURE_READY_FLAG = 0x01;
3131

32-
constexpr uint8_t PRESSURE_FRAME_LEN = 4;
32+
constexpr uint8_t PRESSURE_FRAME_LEN = 10;
3333
std::array<uint8_t, PRESSURE_FRAME_LEN> READ_BUFF = {0};
34+
std::array<uint8_t, PRESSURE_FRAME_LEN> WRITE_BUFF = {0};
35+
constexpr int retries = 3;
3436

3537
class LPS222DF {
3638
public:
@@ -42,7 +44,7 @@ class LPS222DF {
4244
}
4345
}
4446

45-
auto read_pressure(int retries) -> uint16_t {
47+
auto read_pressure() -> uint16_t {
4648
bool pressure_reading_ready = false;
4749

4850
_policy->i2c_write(DEVICE_ADDRESS, CTRL_REG2, ONE_SHOT_PRESSURE_READ,

0 commit comments

Comments
 (0)