Commit Graph
30 Commits
Author SHA1 Message Date
Samuel Sadok 2caf0d3c0e fix compatibility with new fibre-cpp 2021-01-08 11:40:36 +01:00
Samuel Sadok 21e19b9c18 Merge branch 'devel' into libfibre 2020-12-03 21:20:30 +01:00
Samuel Sadok 207426aa0f initial ODrive v4.0 support 2020-11-18 18:59:56 +01:00
Samuel Sadok a1c67e6ba1 refactor Fibre to AsyncStream architecture
The previous implementation was based on blocking calls, i.e. the
platform dependent output channel would block on a write operation and
by extension the Fibre decoder could also block when given data by an
input channel. The revised implementation in this commit is based around
a fully asynchronous (i.e. non-blocking)  stream interface.
2020-09-15 12:57:39 +02:00
Samuel Sadok b3ddadb360 further improve hardware independence 2020-07-21 12:55:10 +02:00
Samuel Sadok ff6146f055 Fix bugs in protocol code
- Fix incorrect use of snprintf.
 - Fix TreatPacketSinkAsStreamSink::process_bytes() quitting when being passed more than 64 bytes.

Reported in https://github.com/madcowswe/ODrive/issues/438

These bugs are not known to have an effect currently but could have
one if code somewhere else is changed.
2020-07-20 12:16:34 +02:00
Samuel Sadok e4d70a22b7 Initial implementation of interface autogenerator.
TODO:
 - write to endpoints from float (for PWM/analog input)
 - ascii protocol
2020-05-14 23:05:02 +02:00
Unknown 930de28de9 Clean up static analysis warnings 2020-01-08 22:59:57 -05:00
Unknown 1bdea53ec8 Improve testability 2020-01-08 22:11:50 -05:00
Unknown 2c9f43c9ff Add safety disarm in the stack overflow hook and increase stack sizes 2019-12-04 00:09:57 -05:00
Unknown ecf1ccd25e Add stack_size vars, reduce stack usage 2019-09-25 22:47:40 -04:00
Alex Burka 2f36e68b79 double stack space for usb server thread 2019-01-29 22:25:51 -05:00
Oskar Weigl cf33cf2c14 only process each packet once 2018-09-07 21:11:20 -07:00
Oskar Weigl a7ca3a7cbd fix one of my bugs, and one of STM 2018-09-07 20:56:36 -07:00
Oskar Weigl e26e93212c first compile of new buffers 2018-09-07 19:44:00 -07:00
Oskar Weigl c2cd26cc6e change deadline style timeout for regular timeouts in USB and UART interfaces 2018-09-01 19:29:49 -07:00
Oskar Weigl fe781b6466 use new naming for packet stream conversion 2018-06-08 21:14:46 -07:00
Oskar Weigl 4841ff03fb fix include paths, duplicated function in merge 2018-06-08 19:48:27 -07:00
Oskar Weigl 6ff4445770 Merge branch 'devel' into sam_fibre
Conflicts:
	Firmware/Tupfile.lua
	Firmware/fibre/cpp/include/fibre/protocol.hpp
	Firmware/fibre/python/fibre/discovery.py
	Firmware/fibre/python/fibre/usbbulk_transport.py
	tools/odrive/dfu.py
	tools/odrive/shell.py
	tools/odrive/utils.py
	tools/odrivetool
2018-06-08 19:30:21 -07:00
Oskar Weigl c95233a57b make ascii protocol default on CDC interface, change some naming 2018-06-05 21:59:48 -07:00
Samuel Sadok 15af5fc640 Merge branch 'devel' into sam_winusb 2018-05-14 16:50:45 -07:00
Samuel Sadok 0e32df329f fix compilation when using stdout protocol 2018-05-14 16:25:31 -07:00
Samuel Sadok 62a599bf6e fix ascii protocol compilation 2018-05-14 16:13:51 -07:00
Samuel Sadok caacde7544 Replace ASCII protocol compile time setting with runtime setting
When enabled, the USB CDC interface of the ODrive will
run the ASCII protocol instead of the native protocol.
In that case the native protocol can still be used on
endpoints 0x03, 0x83.
Truly concurrent use is not tested and thus not recommended.
2018-05-14 15:50:01 -07:00
Samuel Sadok d69f8312e0 make the device a composite device 2018-05-14 15:20:13 -07:00
Samuel Sadok 112f4a1864 fix undefined variable when enabling ascii protocol 2018-05-14 15:19:22 -07:00
Samuel Sadok 4bf7e987a5 apply ODrive native protocol updates to fibre and switch to fibre 2018-05-13 18:53:44 -07:00
Samuel Sadok dc303606b1 fix USB TX lockup issue
When the host reset the connection without reading the response packet first, the TX-empty semaphore would never get released, thereby blocking any further TX communication. This commit just overrides the TX buffer if the semaphore wait times out.
2018-04-23 19:03:55 -07:00
Samuel Sadok 535dbcf481 add system_stats to monitor resource usage 2018-04-23 19:03:55 -07:00
Samuel Sadok 741a51442f split communication into multiple files 2018-04-20 23:44:55 -07:00