Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2018-04-01 18:49:43 +0300
committerDavid Crocker <dcrocker@eschertech.com>2018-04-01 18:49:43 +0300
commit97e7b46202b9f71075101ed86b6967904f87fa98 (patch)
tree4852f94f2497ae43f6f2ba69c6a72ace6f1f7fd0 /src/RTOS work pending.txt
parent4d151a5d02a8bca3810e4a75bf225136548fa1ab (diff)
More RTOS work
Refactored mutex and task interface Output channels, tool list and message box data are now thread safe
Diffstat (limited to 'src/RTOS work pending.txt')
-rw-r--r--src/RTOS work pending.txt36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/RTOS work pending.txt b/src/RTOS work pending.txt
new file mode 100644
index 00000000..6edb4475
--- /dev/null
+++ b/src/RTOS work pending.txt
@@ -0,0 +1,36 @@
+Changes to RRF for RTOS
+
+[done] Include FreeRTOS library in the link library list and run RRF as a single FreeRTOS task
+[done] Run Heat as a separate task
+[done] Replace delay() by a version that calls FreeRTOS
+[done] Have hsmciIdleFunc suspend the calling task pending an interrupt
+[done] Use a mutex to protect fatfs from being reentered, preferably a separate mutex for each volume
+[done] Use a mutex to protect the shared SPI subsystem from reentrant calls, and use it the filesystem and the temperature sensor reading system
+[done] Use a mutex when allocating file handles
+[done] Use a mutex to protect the find first/next buffer
+[done] make getting file info thread safe
+[done] buffer allocation needs to be thread safe
+[done] tool list traversal to be thread safe
+[done] make USB and serial out channels thread safe
+[done] make message box output thread safe
+[done except for mutexes on network and telnet] Make Platform::Message thread safe
+Are there any aspects of Platform that are not thread-safe? e.g. GCodes setting stuff while network reports it?
+Get rid of shared scratchString
+Run Network as a separate task
+Run Move as a separate task. Probably needs a mutex to protect calls into it, e.g. babystepping and pause.
+Use DMA for SharedSPI transfers, suspend the calling task while waiting on a transfer
+Do a SAM4S version of FreeRTOS, then do a SAM4S_RTOS build of RRF
+Stop allocating file buffers on the stack?
+Find maximum stack sizes and optimise stacks
+Run all network responders as separate tasks? Would need mutex on network interface access
+
+Bugs
+
+[done] IAP fails to update firmware
+M122 output is too big for the available buffers, unless the Network task reads the output fast enough
+[done] Disconnects when getting file info forCandyBowlx8comments.gcode when running RTOS build
+File upload speed is a little lower when using RTOS - may be fixed when network is a separate task
+
+Deferred
+
+Use a mutex to protect HSMCI from reentrant calls (only needed if/when we support more than one HSMCI volume, which is unlikely but possoible on the SAME70)