Skip to content
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

UAVCAN v1.0 done #142

Merged
merged 100 commits into from
Mar 8, 2020
Merged
Changes from 1 commit
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
502e512
Restructuring WIP
pavel-kirienko Jan 19, 2020
22400fa
WIP; tests are temporarily broken
pavel-kirienko Feb 2, 2020
165ef2d
API review WIP
pavel-kirienko Feb 4, 2020
5cf5b1b
Test integration
pavel-kirienko Feb 4, 2020
3c7188c
CI test fix
pavel-kirienko Feb 4, 2020
ab480af
Linter fixes
pavel-kirienko Feb 4, 2020
501955d
Moving on
pavel-kirienko Feb 4, 2020
4cfa339
Compile-time platform assumption checks
pavel-kirienko Feb 5, 2020
bcca484
Transmission WIP
pavel-kirienko Feb 5, 2020
0989c31
Should be ready for testing now
pavel-kirienko Feb 5, 2020
aa64c18
Remove float subnorm test to fix GCC build
pavel-kirienko Feb 5, 2020
716b5b2
Moving on
pavel-kirienko Feb 5, 2020
93ad49f
Moving on with the API. Improved error handling and typing.
pavel-kirienko Feb 9, 2020
ff822fd
Formatting & clarifications
pavel-kirienko Feb 9, 2020
8410701
Finalized makeTailByte() & makeCANID()
pavel-kirienko Feb 9, 2020
70e5322
findTxQueueSupremum()
pavel-kirienko Feb 9, 2020
5274db5
Started work on the TX test suite
pavel-kirienko Feb 9, 2020
f4d9a44
Fixed a documentation error
pavel-kirienko Feb 9, 2020
c7ed983
Ci build fix
pavel-kirienko Feb 9, 2020
f75eff2
Formatting
pavel-kirienko Feb 9, 2020
534f317
TX test WIP
pavel-kirienko Feb 10, 2020
91d8589
TX test, partial
pavel-kirienko Feb 11, 2020
45f8b40
TX queue popping
pavel-kirienko Feb 11, 2020
a6679b6
Fix SonarQube warnings
pavel-kirienko Feb 11, 2020
aedd4f8
Fix minor SonarQube warnings
pavel-kirienko Feb 11, 2020
a4aac16
More TX testing
pavel-kirienko Feb 11, 2020
70e8411
Random-fill allocated memory
pavel-kirienko Feb 11, 2020
65aab43
More TX testing
pavel-kirienko Feb 11, 2020
5a3d960
Finished the TX test and added some docs
pavel-kirienko Feb 11, 2020
25f210a
Fix tests & static analysis
pavel-kirienko Feb 14, 2020
8b7551f
DSDL primitive serialization routines moved into a separate pair of f…
pavel-kirienko Feb 14, 2020
fd30448
Update the heap memory model description
pavel-kirienko Feb 14, 2020
ec884d2
Moving on with the RX pipeline
pavel-kirienko Feb 15, 2020
eaf9537
Pending refactoring of rx_filter()
pavel-kirienko Feb 15, 2020
fd4a225
RX revamping WIP
pavel-kirienko Feb 15, 2020
9e109f8
RX pipeline refactoring continues; the new heap memory model requires…
pavel-kirienko Feb 15, 2020
a987ced
Minor clarifications in the comments & static analysis fixes
pavel-kirienko Feb 15, 2020
f83025c
Zero-copy reception
pavel-kirienko Feb 16, 2020
951902b
Update the docs
pavel-kirienko Feb 16, 2020
24ab7ec
RX pipeline seems to be finished, but requires review & refactoring
pavel-kirienko Feb 17, 2020
468965f
RX pipeline refactoring
pavel-kirienko Feb 17, 2020
a61b505
Missing declaration
pavel-kirienko Feb 17, 2020
23a47eb
Internal simplification
pavel-kirienko Feb 17, 2020
0bc8cf4
Global renamings, no structural changes
pavel-kirienko Feb 17, 2020
249594d
More structured organization of the test suite; no logical changes
pavel-kirienko Feb 17, 2020
4ed9f77
Fix coverage
pavel-kirienko Feb 17, 2020
ec68f80
AVR GCC compilation test
pavel-kirienko Feb 17, 2020
573da6e
Improve coverage
pavel-kirienko Feb 17, 2020
8087564
RX frame parsing test
pavel-kirienko Feb 17, 2020
568ac1f
Test rxSessionWritePayload
pavel-kirienko Feb 17, 2020
a6d38c6
Formatting
pavel-kirienko Feb 17, 2020
0e5e959
Better (ugh) coverage tracking (hack, fix later)
pavel-kirienko Feb 19, 2020
46529d6
RX test WIP; the CI build is temporarily broken sry
pavel-kirienko Feb 19, 2020
36edc2d
rxSessionUpdate() test done
pavel-kirienko Feb 20, 2020
41d2f80
Fix sonarqube and move configs into .travis.yml
pavel-kirienko Feb 20, 2020
5e9f742
I love YAML but sometimes it's like wtf
pavel-kirienko Feb 20, 2020
97484cc
rxAccept() testing WIP
pavel-kirienko Feb 21, 2020
58a4dfd
RX pipeline test done
pavel-kirienko Feb 21, 2020
64e60ce
Rework
pavel-kirienko Feb 23, 2020
efaa25b
Randomized roundtrip test
pavel-kirienko Feb 23, 2020
894f3a1
Fix AVR compile test
pavel-kirienko Feb 23, 2020
c579ae2
Refactor the TX memory management API
pavel-kirienko Feb 23, 2020
82844f0
SonarQube
pavel-kirienko Feb 23, 2020
e9019d0
Fix the AVR build again
pavel-kirienko Feb 23, 2020
5e1bca9
Suppress check near an intended MISRA violation
pavel-kirienko Feb 23, 2020
9ca9be2
Started work on the DSDL helpers
pavel-kirienko Feb 23, 2020
389cf17
bit copy implementation & minimal testing (to be extended)
pavel-kirienko Feb 27, 2020
5c8bdef
canardDSDLPrimitiveSerialize()
pavel-kirienko Feb 28, 2020
54637ea
Better DSDL serialization API
pavel-kirienko Feb 28, 2020
6aa8de0
Working on the deserialization logic and its tests
pavel-kirienko Feb 28, 2020
357d4d1
Finished the tests for the deserializer routines
pavel-kirienko Feb 29, 2020
123ff12
Fix warnings
pavel-kirienko Feb 29, 2020
b9497e7
Make the floating point support optional depending on the properties …
pavel-kirienko Feb 29, 2020
130862c
Fix warnings from SonarQube
pavel-kirienko Feb 29, 2020
57c328b
Nits from SonarQube
pavel-kirienko Feb 29, 2020
162a5a0
Suppress a false-positive from Clang-Tidy
pavel-kirienko Feb 29, 2020
0d66591
Fix the hack in the CI coverage tracking
pavel-kirienko Feb 29, 2020
e1caf06
Fixing combined coverage reporting
pavel-kirienko Feb 29, 2020
966d10e
Bump coverage
pavel-kirienko Mar 1, 2020
afc0b2e
More coverage
pavel-kirienko Mar 1, 2020
347d0f8
Brought the coverage to 100% excepting the assertion checks
pavel-kirienko Mar 1, 2020
6b4e9a5
A hack to get the coverage metrics correct in SonarQube
pavel-kirienko Mar 1, 2020
34f8484
Formatting
pavel-kirienko Mar 1, 2020
9efc9dd
Fix coverage?
pavel-kirienko Mar 1, 2020
c9e464e
Okay, C code coverage is malfunctioning on SonarQube, let's try somet…
pavel-kirienko Mar 1, 2020
4199f62
Trying with NDEBUG again
pavel-kirienko Mar 1, 2020
1361489
Okay, the coverage tracking seems to be working now
pavel-kirienko Mar 1, 2020
988bba2
Minor clean up; docs next
pavel-kirienko Mar 1, 2020
183013b
Add missing badges
pavel-kirienko Mar 1, 2020
1ac67c4
Docs WIP
pavel-kirienko Mar 2, 2020
7b5fcc3
Docs WIP
pavel-kirienko Mar 2, 2020
42664f4
Finished the header file documentation; README next
pavel-kirienko Mar 2, 2020
d0da584
README rework
pavel-kirienko Mar 2, 2020
691f2ca
It's done
pavel-kirienko Mar 3, 2020
9a2052f
Move the IDE-related files into the project root
pavel-kirienko Mar 3, 2020
b5f1b77
A few very trivial changes: typos, wording, doc style
pavel-kirienko Mar 3, 2020
13d0f90
Disable the codecov integration to eliminate noise. The coverage is t…
pavel-kirienko Mar 3, 2020
09b4370
Update the README to match https://github.com/UAVCAN/specification/is…
pavel-kirienko Mar 7, 2020
f80aa3c
Update the docs following the feedback from Scott. Comment-only changes.
pavel-kirienko Mar 7, 2020
b16a86b
Update canard.h
pavel-kirienko Mar 8, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Update canard.h
State that the frame payload pointer may be NULL if the size is zero.
  • Loading branch information
pavel-kirienko authored Mar 8, 2020
commit b16a86b5a638d6ad3f9cbdf60bff194a9985dc9e
1 change: 1 addition & 0 deletions libcanard/canard.h
Original file line number Diff line number Diff line change
@@ -187,6 +187,7 @@ typedef struct
uint32_t extended_can_id;

/// The useful data in the frame. The length value is not to be confused with DLC!
/// If the payload is empty (payload_size = 0), the payload pointer may be NULL.
/// For RX frames: the library does not expect the lifetime of the pointee to extend beyond the point of return
/// from the API function. That is, the pointee can be invalidated immediately after the frame has been processed.
/// For TX frames: the frame and the payload are allocated within the same dynamic memory fragment, so their