init nfc later (#239)

This commit is contained in:
coreglitch 2020-11-16 21:26:34 +06:00 committed by GitHub
parent ee1e4bbabd
commit 3d5563b169
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 3 deletions

View File

@ -68,6 +68,12 @@ void nfc_test_callback(void* context) {
nfc->screen = 0; nfc->screen = 0;
widget_enabled_set(nfc->widget, true); widget_enabled_set(nfc->widget, true);
// TODO only for workaround
if(nfc->ret != ERR_NONE) {
nfc->ret = rfalNfcInitialize();
rfalLowPowerModeStart();
}
if(nfc->ret == ERR_NONE && !nfc->worker) { if(nfc->ret == ERR_NONE && !nfc->worker) {
// TODO change to fuirac_start // TODO change to fuirac_start
nfc->worker = osThreadNew(nfc_worker_task, nfc, &nfc->worker_attr); nfc->worker = osThreadNew(nfc_worker_task, nfc, &nfc->worker_attr);
@ -77,11 +83,29 @@ void nfc_test_callback(void* context) {
} }
void nfc_field_on_callback(void* context) { void nfc_field_on_callback(void* context) {
furi_assert(context);
Nfc* nfc = context;
// TODO only for workaround
if(nfc->ret != ERR_NONE) {
nfc->ret = rfalNfcInitialize();
rfalLowPowerModeStart();
}
st25r3916OscOn(); st25r3916OscOn();
st25r3916TxRxOn(); st25r3916TxRxOn();
} }
void nfc_field_off_callback(void* context) { void nfc_field_off_callback(void* context) {
furi_assert(context);
Nfc* nfc = context;
// TODO only for workaround
if(nfc->ret != ERR_NONE) {
nfc->ret = rfalNfcInitialize();
rfalLowPowerModeStart();
}
st25r3916TxRxOff(); st25r3916TxRxOff();
} }
@ -158,8 +182,8 @@ void nfc_task(void* p) {
furiac_exit(NULL); furiac_exit(NULL);
} }
nfc->ret = rfalNfcInitialize(); // TODO only for workaround
rfalLowPowerModeStart(); nfc->ret = ERR_WRONG_STATE;
furiac_ready(); furiac_ready();

View File

@ -120,7 +120,7 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
*/ */
GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12; GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLDOWN; GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF6_SPI3; GPIO_InitStruct.Alternate = GPIO_AF6_SPI3;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);