~aleteoryx/muditaos

82924c74a26ca8d57e96895e19a5c63886d0310d — Mateusz Grzywacz 5 years ago 466a571
[EGD-4484] Cellular - read buffer on UART Line Idle (#1065)

M module-bsp/board/rt1051/bsp/cellular/rt1051_cellular.cpp => module-bsp/board/rt1051/bsp/cellular/rt1051_cellular.cpp +8 -2
@@ 14,7 14,7 @@

namespace bsp::cellular
{
    void readline_timeout()
    void readline()
    {
        BaseType_t hp = pdFALSE;
        if (bsp::RT1051Cellular::blockedTaskHandle) {


@@ 45,9 45,13 @@ extern "C"
                                             (void *)&characterReceived,
                                             1,
                                             &xHigherPriorityTaskWoken);
                    bsp::pit::start(25 * 1000, bsp::cellular::readline_timeout);
                }
            }

            if (isrReg & kLPUART_IdleLineFlag) {
                bsp::cellular::readline();
            }

            LPUART_ClearStatusFlags(CELLULAR_UART_BASE, isrReg);

            portEND_SWITCHING_ISR(xHigherPriorityTaskWoken);


@@ 99,6 103,7 @@ namespace bsp
            return;
        }

        LPUART_EnableInterrupts(CELLULAR_UART_BASE, kLPUART_IdleLineInterruptEnable | kLPUART_RxDataRegFullFlag);
        LPUART_ClearStatusFlags(CELLULAR_UART_BASE, 0xFFFFFFFF);
        NVIC_ClearPendingIRQ(LPUART1_IRQn);
        NVIC_SetPriority(LPUART1_IRQn, configLIBRARY_LOWEST_INTERRUPT_PRIORITY);


@@ 127,6 132,7 @@ namespace bsp
        DisableTx();

        NVIC_DisableIRQ(LPUART1_IRQn);
        LPUART_DisableInterrupts(CELLULAR_UART_BASE, kLPUART_IdleLineInterruptEnable | kLPUART_RxDataRegFullFlag);
        LPUART_ClearStatusFlags(CELLULAR_UART_BASE, 0xFFFFFFFF);
        NVIC_ClearPendingIRQ(LPUART1_IRQn);


M module-db/Interface/ContactRecord.hpp => module-db/Interface/ContactRecord.hpp +1 -1
@@ 70,7 70,7 @@ struct ContactRecord : public Record
    inline auto getFormattedName(const NameFormatType type = NameFormatType::Default) const -> UTF8
    {
        if (isTemporary()) {
            LOG_DEBUG("temporary contact, numer as name: '%s'", getNumberAsName().c_str());
            LOG_DEBUG("temporary contact, number as name: '%s'", getNumberAsName().c_str());
            return getNumberAsName();
        }
        if (primaryName.length() > 0) {