Commit Graph
35 Commits
Author SHA1 Message Date
Beat Küng 0871b7974d uavcan_v1: add dynamic mixing support 2021-10-18 18:45:19 -04:00
Peter van der Perk ed394027b1 UAVCANv1 Include Kconfig & Fix #18396 2021-10-13 21:22:15 -04:00
Jacob Crabill 1ee5f75aa5 uavcan_v1: Add PublicationManager and uORB Publisher (#17863) 2021-08-25 14:56:23 -04:00
David Sidrane 8f64f7ce90 uavcan_1:Fixed hardfault on stop 2021-08-04 10:40:34 -04:00
Daniel Agar 883624d915 lib/geo: move from ecl 2021-07-15 10:38:24 -04:00
JacobCrabill 3143756d97 uavcan_v1: Cleanup _uavcan_subs in SubMgr
Remove hard-coding of PX4 param names - use subject name and instance
instead

Also cleanup duplicates of CANARD_PORT_ID_UNSET/MAX vars
2021-07-06 22:00:07 -04:00
JacobCrabill a99b657f03 uavcan_v1: Fix SubscriptionManager dynamic update 2021-07-06 22:00:07 -04:00
JacobCrabill db460daf46 uavcan_v1: Bugfix: pop timed-out transfers from tx queue 2021-07-06 22:00:07 -04:00
Peter van der Perk b2742658b7 UAVCANv1 port unset fixes and deinitialization 2021-06-17 10:02:17 -04:00
David Sidrane 37d93320eb uavcan_v1:Uavcan: Use inttypes 2021-06-16 17:07:47 +02:00
Peter van der Perk 8c4b900f9a uavcan_v1: Correct transmission deadline check & fix SocketCAN tx deadline 2021-06-10 02:26:28 +00:00
JacobCrabill 73ef22ae77 uavcan_v1: Fix heartbeat pub timestamp
The hrt_abstime value used to control the 1s pub rate was the value of
the timestamp_usec of the CanardTransfer, which has a timeout of 100ms
added to it.

Since hrt_abstime is an unsigned datatype, if the hrt_elapsed_time()
check was called <100ms apart, the negative value would result in a
large hrt_elapsed_time, and the bus would be spammed with Heartbeat
messages (or error messages from canardTxPush).
2021-06-08 20:13:19 -04:00
Peter van der Perk 9756c70491 UAVCANv1 Iteration, dynamic subscribers and decoupling (#17624)
* Update to use libcanard callback
Reworked param system with lambda

* Use callback instead of lambda saves 500 bytes of flash

* [UAVCANv1] Added ServiceRequest class, subscribers decoupled

* PX4 UAVCANv1 portID param default CANARD_PORT_ID_UNSET (65535U)

* [UAVCANv1] uORB sensor_gps modify timestamp for now untill we've got timesync working

* UAVCANv1 update parameter definition to use -1 as unset
2021-06-04 09:30:17 -04:00
Peter van der Perk 0c926250a2 UAVCANv1 cleanup and uORB over UAVCANV1 move to own subclass 2021-05-08 13:03:02 +02:00
Peter van der Perk 8b3aa46c01 [UAVCANv1] Publisher default timeout, has to be tuned further for all publishers 2021-04-20 21:44:40 +02:00
Peter van der Perk 1804cea92c [UAVCANv1] TX deadline fix and other fixes 2021-04-20 21:44:40 +02:00
Peter van der Perk 399815469f [UAVCANv1] Subscriber multi topic subscription
reg.drone.bms full support
legacy.equipment.bms support
2021-04-20 21:44:40 +02:00
Peter van der Perk c4ab2797eb Added the notion of BaseSubscriber which allows to
subsscription for services responses and request and helps the usage of fixed
port subscribers Furthermore move register autconfigure logic from Uavcan.cpp
to NodeManager
2021-03-09 14:35:50 +01:00
Peter van der Perk 18a8d89fa4 PNP fixed allocation scheme
Fixed register scheme
Incrased wq:uavcan stack since it overflowed when sending register response
2021-03-07 21:49:05 +01:00
Peter van der Perk 28c76663cd UAVCANv1 Move PNP from UAVCAN.cpp to NodeManager.cpp 2021-03-07 21:49:05 +01:00
JacobCrabill 935bf75b61 uavcan_v1: Fix bugs in MixingOutput / EscClient
Also add commented-out code for use with PR-16808
(MixingOutput + output_control)
Bench-tested PWM output on a Pixracer via UAVCANv1 ESC commands from a
Pixhawk 4.
2021-02-24 19:22:11 +01:00
JacobCrabill 04ea1cf5c6 uavcan_v1: Add to EscClient implementation
Add outline of EscServer implementation
Add some comments and cleanup
2021-02-24 19:22:11 +01:00
JacobCrabill 4b73566b76 uavcan_v1: Add Publisher base; Gnss Publisher 2021-02-24 19:22:11 +01:00
JacobCrabill 35f822fca6 uavcan_v1: Working ESC setpoint pub/sub 2021-02-24 19:22:11 +01:00
JacobCrabill 170345040a uavcan_v1: Add rough ESC Client; Reorg Subscribers 2021-02-24 19:22:11 +01:00
JacobCrabill 00814815f4 uavcan_v1: Reorganize uavcan params and Subscriber 2021-02-24 19:22:11 +01:00
JacobCrabill 088014c2e1 uavcan_v1: Basic subscriber working 2021-02-24 19:22:11 +01:00
JacobCrabill 70ff6703b7 uavcan_v1: More work on subscribers and reg access
Now running into issues with running out of stack frame memory
For now I'm going to leave the relevant code in so it's at least
readable, but in its current state it will not compile
2021-02-24 19:22:11 +01:00
JacobCrabill 7d2a6afb79 uavcan_v1: More work on Subscriber class 2021-02-24 19:22:11 +01:00
JacobCrabill e267dc0206 uavcan_v1: Start adding framework for Subscribers 2021-02-24 19:22:11 +01:00
JacobCrabill e5cf92f20d uavcan_v1: Refactor RX handling into functions
Cleans up the main transfer-handling loop
2021-02-24 19:22:11 +01:00
Peter van der Perk 8242968b2b UAVCAN v1 GPS demo with MAVCAN autoconfigure 2021-02-07 17:18:45 +01:00
Peter van der Perk 8b2d20df34 "MAVCAN" PNP & Register example implementation 2021-02-07 17:18:45 +01:00
Peter van der Perk e5d29d4079 UAVCANv1 demo UAVCAN146 <-> BMS-722 is working
Fixed UAVCAN146 linker script that caused CXX initalization to wrong
Enabled uORB listener command
Updated UAVCANv1 msg definition

Known isssue: PX4 params are not working on the UAVCAN146
2021-02-07 17:18:45 +01:00
Daniel Agar 58ca575871 UAVCAN v1 bridge
- NuttX stm32f4/stm32f7 uses character device driver
 - NuttX kinetis and s32k uses socketcan
2021-02-07 17:18:45 +01:00