|
@@ -54,7 +54,12 @@
|
|
|
const mp_obj_base_t machine_pin_obj_template = {&machine_pin_type};
|
|
const mp_obj_base_t machine_pin_obj_template = {&machine_pin_type};
|
|
|
|
|
|
|
|
void mp_pin_od_write(void *machine_pin, int stat) {
|
|
void mp_pin_od_write(void *machine_pin, int stat) {
|
|
|
- rt_pin_write(((machine_pin_obj_t *)machine_pin)->pin, stat);
|
|
|
|
|
|
|
+ if (stat == PIN_LOW) {
|
|
|
|
|
+ rt_pin_mode(((machine_pin_obj_t *) machine_pin)->pin, PIN_MODE_OUTPUT);
|
|
|
|
|
+ rt_pin_write(((machine_pin_obj_t *) machine_pin)->pin, stat);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ rt_pin_mode(((machine_pin_obj_t *)machine_pin)->pin, PIN_MODE_INPUT_PULLUP);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void mp_hal_pin_open_set(void *machine_pin, int mode) {
|
|
void mp_hal_pin_open_set(void *machine_pin, int mode) {
|