-
Notifications
You must be signed in to change notification settings - Fork 632
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[nrf fromlist] modules: hal_nordic: Add RRAM to NRFX_NVMC #1566
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Added missing command and message handling for use existing modem cmux for DCE role. DCE CMUX connection can be now initialized from DTE side. Signed-off-by: Juha Heiskanen <[email protected]> (cherry picked from commit 093efc4)
Added possibility for link 2 modem mock instance for validating P2P communication without any data stubbing. Signed-off-by: Juha Heiskanen <[email protected]> (cherry picked from commit 6943cd4)
Added unite test for for validate modem CMUX DTE & DCE role communication together. Signed-off-by: Juha Heiskanen <[email protected]> (cherry picked from commit 34d4e50)
Adds two APIs which allow for configuring the cellular network configuration of a cellular network device. like a cellular modem. The first allows for configuring which access technology to use, and optionally, which bands to use. The second allows for getting all supported access technologies are supported, and which bands for each tech are supported. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit ad01169)
Implement modem info pulling using the init and periodic chat scripts Signed-off-by: Lucas Denefle <[email protected]> (cherry picked from commit d1ba79a)
Fixed Kconfig to remove dependency between modem_socket and modem_context, the two do not depend on each other and should be possible to use independently Signed-off-by: Alessio Lei <[email protected]> (cherry picked from commit 733b81d)
Add Lucas Denefle to copyright of the cellular API. Signed-off-by: Lucas Denefle <[email protected]> (cherry picked from commit a5e5c1d)
In cases where the data is bigger than 127 bytes, the first bit of the second byte of the data length field used to always be set. This is wrong as according to the 3GPP 27.010 spec only the first bit of the first byte is the EA bit; all the others denote the data length. Signed-off-by: Tomi Fontanilles <[email protected]> (cherry picked from commit 6564e8b)
…e driver model The current cellular API header is not written to conform with the device driver model. This commit fixes that. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 6f55309)
…ular API Move the implementations of the cellular API in modem_cellular.c to an cellular_driver_structure, and implement this API structure withing the device drivers. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit f949103)
…ementation The modem_cellular.c driver now uses a common script to get signal strenght, which is run on demand. This is more efficient than polling it, and simpler since every modem doesn't have to define their own variant of the script. Additionally, the CSQ handler now stores the "raw" rssi value returned from AT+CSQ to be parsed by the cellular_modem_get_signal implementation. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 572c5e6)
…dler The QCCID handler is Quectel specific and as such may not be part of the modem cellular driver which only supports commands defined in 3GPP TS 27.007 Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 1ee0926)
The chat module contains an array of three lists of matches, one of which are static, two of which are contained within the currently running script. The current match, which is an object stored in one of the three lists, is stored in its own pointer in the chat module context. A memory error occurs when the script is stopped, while the chat module is using one of the matches stored withing the script. This commit clears the match pointer when the script is stopped if the match is stored within the script. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 3ebe814)
The CMUX resync mechanism can get stuck between states MODEM_CMUX_RECEIVE_STATE_RESYNC_0 and MODEM_CMUX_RECEIVE_STATE_RESYNC_1 if the resync flags, which are sent only once in state MODEM_CMUX_RECEIVE_STATE_SOF, are not responded to, or the response is lost. This patch ensures resync flags are sent from states MODEM_CMUX_RECEIVE_STATE_SOF, MODEM_CMUX_RECEIVE_STATE_RESYNC_1 and MODEM_CMUX_RECEIVE_STATE_RESYNC_2 if its determined that the resync flags are not being responded to. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 48fa603)
DLCI receive buffer may overrun if data is not processed fast enough. This error was not reported before this patch, resulting in unexplained missing bytes. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit b3971d0)
Some modems don't start sending resync flags as described in 3G TS 27.010 V2.0.0 5.2.5, which results in the CMUX being stuck in resync mode for said modems. This patch simplifies the resync mechanism to simply drop invalid frames, and wait for atleast two consequtive frame flags (stop+start). Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 3debfc8)
Update the unit test to expect the new simplified resync behavior, and validate that new resync is working. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 7d7f7aa)
Add transmit idle event to modem_pipe_event enum. This will allow modules to await transmit idle before trying to transmit more data, instead of blindly calling modem_pipe_transmit in a loop until all data has been accepted. This will reduce the time spent trying to transmit data while the backend is blocked. Similarly to the RECEIVE_READY event, backends will call modem_pipe_notify_transmit_idle() to indicate that transmit is idle, and the TRANSMIT_IDLE event will be reinvoked when the modem pipe is attached to synchronize the state of the pipe with the user of it. Additionally, the TRANSMIT_IDLE event is also invoked when the modem is opened to further help synchronization with the user of the pipe. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 516af3c)
Make async and interrupt driven UART backends notify transmit idle when transmit is idle. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 8c6a9ee)
Implement transmit idle notification for TTY backend. Since TTY has an "infinite" transmit buffer, we invoke transmit idle immediately after writing the data to the TTY file. The test suite for the TTY backend has been updated to match the new behavior. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 4d99c69)
Add test suite for the modem_pipe module. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 9176e5c)
…to save ROM This optimization aggregates frame headers before adding to the ring buffer and computes the FCS of the frame header in one operation. This approach improves execution efficiency and reduces memory footprint. This code adjustment aligns with the changes proposed in zephyrproject-rtos/zephyr#67062. Signed-off-by: Pisit Sawangvonganan <[email protected]> (cherry picked from commit 1270bce)
…is sent This PR makes the modem_chat wait until a chat script chat request has been sent before accepting responses to said request. This helps ensure that an unsolicitet response is not mistaken for a response to a request, which is especially problematic if the chat script chat is using an any match. For example, start chat script sending AT+CGMI, expecting the modem name as a response followed by OK > start script, waiting for response immediately > start sending "AT+CGMI" > receive "+CEREG 1,0" while sending > script accepts "+CEREG 1,0" as the response to "AT+CGMI" > "AT+CGMI" sent > receive "QUECTEL BG95" > receive "OK" script handler got "+CEREG 1,0" instead of "QUECTEL BG95" After this PR: > start script > start sending AT+CGMI > receive "+CEREG 1,0" while sending > "AT+CGMI" sent > start waiting for response > receive "QUECTEL BG95" > script accepts "QUECTEL BG95" as response to "AT+CGMI" > receive "OK" Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 7c9f287)
Implements TRANSMIT_IDLE event notification for mock modem_pipe. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 325bc95)
This commit implements parsing of the CESQ extended signal quality AT command, extracting RSRP and RSRQ which is relevant for LTE connections. It's used in the U-blox SARA-R5 modem instance. Furthermore, the IMEI, IMSI is extracted in the same modem. Signed-off-by: Emil Lindqvist <[email protected]> (cherry picked from commit 342e10b)
Implement transmit idle event both for transmitting data to the bus, and for the individual DLCI channels. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit c114627)
…suite Use transmit idle event to synchronize with data transmitted through DLCI pipes to test TRANSMIT_IDLE implementation. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 358f1ff)
… to UTC Change the synchronization of RMC and GGA NMEA messages from a timeout to matching their UTC timestamps. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 1bc8490)
Implement TRANSMIT_IDLE event for modem_ppp module. This addition optimizes the sys workque CPU time when performing a throughput test from 36% to 5%, while only reducing the throughput by 12%. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit a9779ec)
Remove the net tag, allowing the modem driver tests to be built for PRs, and limit the scope of the test suite to only build for select emulated 32 and 64 bit boards. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 140a510)
…strncpy function ARM GCC version 12.2.0 (Zephyr SDK 0.16.4) generates the following build warning from the strncpy call in "wifi_utils_parse_scan_bands": warning: '__builtin_strncpy' output truncated before terminating nul copying as many bytes from a string as its length To resolve this warning, pass the maximum length of the temporary parse_str buffer to strncpy. This also has the benefit of correctly null terminating parse_str, since we already verify the scan_bands_str is properly null terminated with the strlen() check in this function. We can therefore remove the line adding a null terminator to parse_str as well. Signed-off-by: Daniel DeGrasse <[email protected]> (cherry picked from commit 76f547e)
…ress is not set In case the LL address is not set on a packet for any reason, don't try to access address structure to determine packet type. Upstream PR: zephyrproject-rtos/zephyr#69850 Signed-off-by: Robert Lubos <[email protected]>
…thread `att_req_send_process` is not thread safe. In the case where the current context is pre-emptible (e.g. when a user sends something over GATT from the main thread): The iterator in `att_req_send_process` can get interrupted mid-processing, breaking the logic and resulting in an assert/crash/data corruption. Additionally, the connection state check in this fn is also not thread-safe, the RX thread could pre-empt us and disconnect right before we attempt to send on an ATT bearer that is on it. This is a hotfix until we have a generalized solution for the host API surface. It seems a lot of our logic assumes cooperative priority. Upstream PR: zephyrproject-rtos/zephyr#69738 Signed-off-by: Jonathan Rico <[email protected]>
Add missing dependency on nodric,rram-controller compatible. Upstream PR: zephyrproject-rtos/zephyr#69913 Signed-off-by: Dominik Ermel <[email protected]>
de-nordic
requested review from
carlescufi,
gmarull,
jciupis,
rlubos,
jukkar,
koffes,
alexsven,
erikrobstad,
rick1082,
gWacey,
lemrey and
a team
as code owners
March 8, 2024 19:16
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add missing dependency on nodric,rram-controller compatible.
Upstream PR: zephyrproject-rtos/zephyr#69913