浏览代码

[FL-1190] Enable OTG pullup for reading and writing keys (#423)

gornekich 4 年之前
父节点
当前提交
577606afb9

+ 2 - 0
applications/ibutton/helpers/key-reader.cpp

@@ -178,10 +178,12 @@ void KeyReader::switch_mode_if_needed() {
 }
 }
 
 
 void KeyReader::start() {
 void KeyReader::start() {
+    api_hal_power_enable_otg();
     switch_to(ReadMode::CYFRAL_METAKOM);
     switch_to(ReadMode::CYFRAL_METAKOM);
 }
 }
 
 
 void KeyReader::stop() {
 void KeyReader::stop() {
+    api_hal_power_disable_otg();
     onewire_master->stop();
     onewire_master->stop();
     stop_comaparator();
     stop_comaparator();
 }
 }

+ 2 - 0
applications/ibutton/helpers/key-writer.cpp

@@ -10,10 +10,12 @@ KeyWriter::Error KeyWriter::write(iButtonKey* key) {
 }
 }
 
 
 void KeyWriter::start() {
 void KeyWriter::start() {
+    api_hal_power_enable_otg();
     onewire_master->start();
     onewire_master->start();
 }
 }
 
 
 void KeyWriter::stop() {
 void KeyWriter::stop() {
+    api_hal_power_disable_otg();
     onewire_master->stop();
     onewire_master->stop();
 }
 }
 
 

+ 0 - 2
lib/onewire/one_wire_master.cpp

@@ -12,12 +12,10 @@ OneWireMaster::~OneWireMaster() {
 
 
 void OneWireMaster::start(void) {
 void OneWireMaster::start(void) {
     gpio_init(gpio, GpioModeOutputOpenDrain);
     gpio_init(gpio, GpioModeOutputOpenDrain);
-    api_hal_power_enable_otg();
 }
 }
 
 
 void OneWireMaster::stop(void) {
 void OneWireMaster::stop(void) {
     gpio_init(gpio, GpioModeAnalog);
     gpio_init(gpio, GpioModeAnalog);
-    api_hal_power_disable_otg();
 }
 }
 
 
 void OneWireMaster::reset_search() {
 void OneWireMaster::reset_search() {