5 #include "libpropeller/ms5611/ms5611.h"
9 const int kPIN_I2C_SCL = 0;
10 const int kPIN_I2C_SDA = 1;
18 static void setUp(
void) {
20 bus->
Init(kPIN_I2C_SCL, kPIN_I2C_SDA);
22 sut->Init(bus, libpropeller::MS5611::LSB_1);
25 static void tearDown(
void) {
34 static void test_GetStatus(
void) {
35 TEST_ASSERT_TRUE(sut->GetStatus());
38 static void test_GetPressureTemperatureBasic(
void) {
52 TEST_ASSERT_FALSE(sut->Touch());
63 TEST_ASSERT_TRUE(sut->Touch());
73 sut->Get(pressure, temperature);
81 TEST_ASSERT_TRUE(pressure != 0);
82 TEST_ASSERT_TRUE(temperature != 0);
93 static void test_CalculateHighTemperature(
void) {
101 sut->TEST_SetD(9085466, 8569150);
103 int pressure, temperature;
104 sut->Get(pressure, temperature);
105 TEST_ASSERT_EQUAL_INT(2007, temperature);
106 TEST_ASSERT_EQUAL_INT(100009, pressure);
110 static void test_SetGetC(
void) {
120 sut->SetC(C[0], C[1], C[2], C[3], C[4], C[5]);
121 sut->GetC(rC[0], rC[1], rC[2], rC[3], rC[4], rC[5]);
123 TEST_ASSERT_EQUAL_INT_ARRAY(C, rC, 6);
126 static void test_GetRaw(
void) {
130 sut->TEST_SetD(D1, D2);
133 sut->Get(p, t,
false);
135 TEST_ASSERT_EQUAL_INT(D1, p);
136 TEST_ASSERT_EQUAL_INT(D2, t);
139 static void test_GetProccessedIsNotRaw(
void) {
143 sut->TEST_SetD(D1, D2);
148 TEST_ASSERT_FALSE(D1 == p);
149 TEST_ASSERT_FALSE(D2 == t);
152 static void test_TouchTimeoutEffectWhenCalledQuickly(
void) {
153 for (
int i = 0; i < 25; i++) {
154 for (
int j = 0; j < 17; j++) {
156 TEST_ASSERT_FALSE(sut->Touch());
159 TEST_ASSERT_TRUE(sut->Touch());
160 TEST_ASSERT_FALSE(sut->Touch());
164 static void test_TouchTimeoutHasNoEffectWhenCalledSlowly(
void) {
165 for (
int i = 0; i < 100; i++) {
167 TEST_ASSERT_FALSE(sut->Touch());
169 TEST_ASSERT_TRUE(sut->Touch());
173 static void test_GetStatusIsFalseForNoBus(
void) {