feat(core): at command is made by id based - #29
Merged
Merged
Conversation
Changed all message types to at command base and id forced for all at command
husamettinarabaci
added a commit
that referenced
this pull request
Oct 22, 2025
* feat(setup): added basic at command (#19) Added basic at command implementation. It support usb-midi sysex protocol * feat(setup): setted up pre commit hooks (#20) Added reuse prettier commitlint hook * feat(setup): setted up pre commit hooks (#21) Added reuse prettier commitlint hook 3 * feat(async): setted up async tasks (#23) Added rgb usb at async tasks and channel before firmware update * feat(firmware): added basic firmware update (#24) Added simple bootsel FWUPDATE command to At * feat(com): passed first communication (#25) Communicated with mobile app first time * feat(freq): added basic freq handler (#27) Added simple at freq handler not check and control * feat(core): added multi core (#28) System is configured for working multi-core. DDS task is working on the Core-1 and others on the Core-0 * feat(core): at command is made by id based (#29) Changed all message types to at command base and id forced for all at command * docs(basic): added basic docs Added simple documantation for version v1.0.0 (#30)
husamettinarabaci
added a commit
that referenced
this pull request
Oct 30, 2025
* feat(setup): added basic at command (#19) Added basic at command implementation. It support usb-midi sysex protocol * feat(setup): setted up pre commit hooks (#20) Added reuse prettier commitlint hook * feat(setup): setted up pre commit hooks (#21) Added reuse prettier commitlint hook 3 * feat(async): setted up async tasks (#23) Added rgb usb at async tasks and channel before firmware update * feat(firmware): added basic firmware update (#24) Added simple bootsel FWUPDATE command to At * feat(com): passed first communication (#25) Communicated with mobile app first time * feat(freq): added basic freq handler (#27) Added simple at freq handler not check and control * feat(core): added multi core (#28) System is configured for working multi-core. DDS task is working on the Core-1 and others on the Core-0 * feat(core): at command is made by id based (#29) Changed all message types to at command base and id forced for all at command * docs(basic): added basic docs Added simple documantation for version v1.0.0 (#30) * feat(multicore): fixed multicore Fixed channel for multicore tasks * feat(multicore): fixed multicore Fixed channel for multicore tasks
Merged
This file contains hidden or 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
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.
Changed all message types to at command base and id forced for all at command
🧩 Affected Module(s)
Mark the modules impacted by this PR:
This pull request refactors the AT command handling system to use structured
AtCommandobjects throughout the firmware, improving message consistency and extensibility. The main changes include updating how commands and responses are parsed, compiled, and dispatched, and modifying message types to carry richer information. Handler traits and implementations are also updated to work with the new command structure.AT Command Message Refactor:
Changed the
Msgenum inmessage_type.rsto use structured variants (AtRxLine,AtCmdOutput,Done,Err,ErrWOCommand,RgbWithValue,FreqWithValue, etc.), replacing the previousMsgDirectionand raw string-based messaging. This enables passing fullAtCommandobjects and IDs, improving clarity and extensibility.Updated the AT command parsing logic in
command.rsto extract and store a command ID as part of theAtCommandstruct, and refactored thecompilemethod to include the ID in the output. Helper functions (get_empty_id,compile_at_done,compile_at_error) were added/modified to support the new message format. [1] [2] [3] [4] [5] [6] [7]Handler and Dispatcher Updates:
Refactored the
AtHandlertrait and all handler implementations (freq_handler.rs,setrgb_handler.rs,version_handler.rs,fwupdate_handler.rs,reset_handler.rs) to accept a fullAtCommandobject instead of separate parameters and query flags, simplifying handler logic and enabling richer command handling. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]Updated the
AtDispatcherto pass the fullAtCommandto handlers, aligning with the new trait signature and message format.Task and Message Flow Changes:
at_task.rsto handle the new message variants, including proper compilation and routing of responses using IDs and structured commands. Added support for new message types such asSetDdsAvailable. [1] [2]DDS and RGB Command Handling:
AtCommandobjects in their message passing, enabling more flexible and consistent handling of command data. [1] [2] [3]These changes collectively make the AT command handling system more robust and easier to maintain by using structured data instead of raw strings, improving error handling, and simplifying handler interfaces.