mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-23 05:24:46 -07:00
properly initialize DigitalSequence for NfcA
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
#include <stm32wbxx_ll_tim.h>
|
#include <stm32wbxx_ll_tim.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#define TAG "[DigitalSignal]"
|
#define TAG "DigitalSignal"
|
||||||
|
|
||||||
#pragma GCC optimize("O3,unroll-loops,Ofast")
|
#pragma GCC optimize("O3,unroll-loops,Ofast")
|
||||||
|
|
||||||
@@ -299,7 +299,7 @@ bool digital_sequence_send_signal(DigitalSignal* signal) {
|
|||||||
furi_hal_gpio_init(signal->gpio, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh);
|
furi_hal_gpio_init(signal->gpio, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh);
|
||||||
|
|
||||||
if(!digital_signal_setup_dma(signal)) {
|
if(!digital_signal_setup_dma(signal)) {
|
||||||
FURI_LOG_D(TAG, "Signal has no entries, aborting");
|
FURI_LOG_D(TAG, "digital_sequence_send_signal: Signal has no entries, aborting");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
digital_signal_setup_timer();
|
digital_signal_setup_timer();
|
||||||
@@ -311,7 +311,7 @@ bool digital_sequence_send_signal(DigitalSignal* signal) {
|
|||||||
|
|
||||||
/* configure next polarities and timings */
|
/* configure next polarities and timings */
|
||||||
if(!digital_signal_update_dma(signal)) {
|
if(!digital_signal_update_dma(signal)) {
|
||||||
FURI_LOG_D(TAG, "Signal has no entries, aborting");
|
FURI_LOG_D(TAG, "digital_sequence_send_signal: Signal has no entries, aborting");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -329,7 +329,7 @@ bool digital_sequence_send(DigitalSequence* sequence, const GpioPin* gpio) {
|
|||||||
DigitalSignal *sig = sequence->signals[signal_index];
|
DigitalSignal *sig = sequence->signals[signal_index];
|
||||||
|
|
||||||
if(!sig) {
|
if(!sig) {
|
||||||
FURI_LOG_D(TAG, "Signal at index %u, used at pos %lu is NULL, aborting", signal_index, pos);
|
FURI_LOG_D(TAG, "digital_sequence_send: Signal at index %u, used at pos %lu is NULL, aborting", signal_index, pos);
|
||||||
digital_signal_stop_timer();
|
digital_signal_stop_timer();
|
||||||
digital_signal_stop_dma();
|
digital_signal_stop_dma();
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -103,6 +103,9 @@ NfcaSignal* nfca_signal_alloc() {
|
|||||||
nfca_add_bit(nfca_signal->zero, false);
|
nfca_add_bit(nfca_signal->zero, false);
|
||||||
nfca_signal->tx_signal = digital_sequence_alloc(NFCA_SIGNAL_MAX_EDGES);
|
nfca_signal->tx_signal = digital_sequence_alloc(NFCA_SIGNAL_MAX_EDGES);
|
||||||
|
|
||||||
|
digital_sequence_set_signal(nfca_signal->tx_signal, 0, nfca_signal->zero);
|
||||||
|
digital_sequence_set_signal(nfca_signal->tx_signal, 1, nfca_signal->one);
|
||||||
|
|
||||||
return nfca_signal;
|
return nfca_signal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user