diff options
| author | Dan Halbert <halbert@halwitz.org> | 2017-10-02 20:49:40 -0400 |
|---|---|---|
| committer | Scott Shawcroft <scott@tannewt.org> | 2017-10-03 12:07:17 -0700 |
| commit | c478c10923b9085b2abe135470e968029aaf2fdb (patch) | |
| tree | 6d76c8aa9cc4553d68fe3ff766f2f36b59378ec5 /shared-module/busio | |
| parent | c2bb9e2eb50e0dee6d7405fd738f1b4b0f94d10b (diff) | |
Do not allow a *io object to be used after deinit().
Fixes #278, #277, #276, #275.
Diffstat (limited to 'shared-module/busio')
| -rw-r--r-- | shared-module/busio/I2C.c | 4 | ||||
| -rw-r--r-- | shared-module/busio/OneWire.c | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/shared-module/busio/I2C.c b/shared-module/busio/I2C.c index f8f154e7f..68d6ea22a 100644 --- a/shared-module/busio/I2C.c +++ b/shared-module/busio/I2C.c @@ -34,6 +34,10 @@ void common_hal_busio_i2c_construct(busio_i2c_obj_t *self, shared_module_bitbangio_i2c_construct(&self->bitbang, scl, sda, freq); } +bool common_hal_busio_i2c_deinited(busio_i2c_obj_t *self) { + return shared_module_bitbangio_i2c_deinited(&self->bitbang); +} + void common_hal_busio_i2c_deinit(busio_i2c_obj_t *self) { shared_module_bitbangio_i2c_deinit(&self->bitbang); } diff --git a/shared-module/busio/OneWire.c b/shared-module/busio/OneWire.c index 73d3d29d7..6bb7dedcd 100644 --- a/shared-module/busio/OneWire.c +++ b/shared-module/busio/OneWire.c @@ -34,7 +34,14 @@ void common_hal_busio_onewire_construct(busio_onewire_obj_t* self, shared_module_bitbangio_onewire_construct(&self->bitbang, pin); } +bool common_hal_busio_onewire_deinited(busio_onewire_obj_t* self) { + return shared_module_bitbangio_onewire_deinited(&self->bitbang); +} + void common_hal_busio_onewire_deinit(busio_onewire_obj_t* self) { + if (common_hal_busio_onewire_deinited(self)) { + return; + } shared_module_bitbangio_onewire_deinit(&self->bitbang); } |
