I2C tested, main file now contains rough sample for use with DHT20

This commit is contained in:
Ea-r-th
2025-09-18 01:19:03 -07:00
parent 8ce717033a
commit cb232ea55e
4 changed files with 77 additions and 55 deletions

View File

@@ -24,6 +24,13 @@ void SHAL_init();
typedef bool (*condition_fn_t)(void);
#define SHAL_WAIT_FOR_CONDITION_US(cond, timeout_us) \
SHAL_wait_for_condition_us([&](){ return (cond); }, (timeout_us))
#define SHAL_WAIT_FOR_CONDITION_MS(cond, timeout_ms) \
SHAL_wait_for_condition_ms([&](){ return (cond); }, (timeout_ms))
//Currently configures systick to count down in microseconds
void systick_init();
@@ -33,9 +40,27 @@ void SHAL_delay_us(uint32_t us);
void SHAL_delay_ms(uint32_t ms);
bool SHAL_wait_for_condition_us(condition_fn_t condition, uint32_t timeout_us);
template<typename Condition>
bool SHAL_wait_for_condition_us(Condition cond, uint32_t timeout_us) {
while (timeout_us--) {
if (cond()) {
return true; // success
}
SHAL_delay_us(1);
}
return false; // timeout
}
bool SHAL_wait_for_condition_ms(condition_fn_t condition, uint32_t timeout_ms);
template<typename Condition>
bool SHAL_wait_for_condition_ms(Condition cond, uint32_t timeout_ms) {
while (timeout_ms--) {
if (cond()) {
return true; // success
}
SHAL_delay_ms(1);
}
return false; // timeout
}
//---------------------------------------------------------