diff --git a/lib/onewire_slave.c b/lib/onewire_slave.c index f712a0b..bf5ab0d 100644 --- a/lib/onewire_slave.c +++ b/lib/onewire_slave.c @@ -154,35 +154,43 @@ void onewire_slave_setup(uint8_t family, uint64_t serial) nvic_enable_irq(NVIC_EXTI_IRQ(ONEWIRE_SLAVE_PIN)); // enable interrupt } -void onewire_slave_function_read(uint8_t* data, uint32_t bits) +bool onewire_slave_function_read(uint8_t* data, size_t size) { - if (NULL==data || 0==bits) { // verify input - return; + if (NULL==data || 0==size) { // verify input + return false; + } + if (UINT32_MAX/8