[FL-1891] Release 0.42 bugfixes (#891)
* Fixed the "ibutton can only emulate after reading" bug * Fixed previous fix. FIXES FOR THE FIX GOD! BUGS FOR THE BUG THRONE! * Fixed "Repeat code" position on code input screen * Changed CAME protocol icon * Brewfile: add imagemagick missing assets compiler dependency * Correct fix for "Repeat code" position on code input screen Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
@@ -17,6 +17,9 @@ void KeyEmulator::start(iButtonKey* key) {
|
||||
anything_emulated = false;
|
||||
stop();
|
||||
|
||||
// pulldown pull pin, to prevent low-pass filtering by the RFID part of the schematic
|
||||
furi_hal_rfid_pin_pull_pulldown();
|
||||
|
||||
switch(key->get_key_type()) {
|
||||
case iButtonKeyType::KeyDallas:
|
||||
start_dallas_emulate(key);
|
||||
@@ -44,6 +47,7 @@ bool KeyEmulator::emulated() {
|
||||
void KeyEmulator::stop() {
|
||||
onewire_slave->stop();
|
||||
pulser.stop();
|
||||
furi_hal_rfid_pins_reset();
|
||||
}
|
||||
|
||||
void KeyEmulator::start_cyfral_emulate(iButtonKey* key) {
|
||||
|
@@ -115,12 +115,10 @@ bool KeyReader::verify_key(iButtonKeyType key_type, const uint8_t* const data, u
|
||||
}
|
||||
|
||||
void KeyReader::start_comaparator(void) {
|
||||
// pulldown lf-rfid pins to prevent interference
|
||||
hal_gpio_init(&gpio_rfid_pull, GpioModeOutputOpenDrain, GpioPullNo, GpioSpeedLow);
|
||||
hal_gpio_write(&gpio_rfid_pull, false);
|
||||
furi_hal_rfid_pins_reset();
|
||||
|
||||
hal_gpio_init(&gpio_rfid_carrier_out, GpioModeOutputOpenDrain, GpioPullNo, GpioSpeedLow);
|
||||
hal_gpio_write(&gpio_rfid_carrier_out, false);
|
||||
// pulldown pull pin, we sense the signal through the analog part of the RFID schematic
|
||||
furi_hal_rfid_pin_pull_pulldown();
|
||||
|
||||
comparator_callback_pointer =
|
||||
cbc::obtain_connector(this, &KeyReader::comparator_trigger_callback);
|
||||
@@ -130,6 +128,11 @@ void KeyReader::start_comaparator(void) {
|
||||
}
|
||||
|
||||
void KeyReader::stop_comaparator(void) {
|
||||
furi_hal_rfid_pins_reset();
|
||||
|
||||
// rfid_pins_reset will disable ibutton pin
|
||||
furi_hal_ibutton_start();
|
||||
|
||||
HAL_COMP_Stop(&hcomp1);
|
||||
api_interrupt_remove(comparator_callback_pointer, InterruptTypeComparatorTrigger);
|
||||
}
|
||||
|
@@ -56,7 +56,7 @@ void PulseSequencer::init_timer(uint32_t period) {
|
||||
|
||||
HAL_NVIC_EnableIRQ(TIM1_UP_TIM16_IRQn);
|
||||
|
||||
hal_gpio_init(&ibutton_gpio, GpioModeOutputOpenDrain, GpioPullNo, GpioSpeedLow);
|
||||
hal_gpio_init(&ibutton_gpio, GpioModeOutputOpenDrain, GpioPullNo, GpioSpeedVeryHigh);
|
||||
}
|
||||
|
||||
void PulseSequencer::deinit_timer() {
|
||||
|
Reference in New Issue
Block a user