|#217||My xC combined combinable notes||28Mar2021||code|
|Just for some of the examples in the note, not updated||21Feb2021||builds|
|#214.sub||My button presses vs bounce vs EMI notes
Explaining button handling SW and caveats
|#209.note||My xC softblinking PWM notes
Explaining about pulse width modulation, download for the exact code described there. Stopped, but see #209.alive:
|#209.alive||My xC softblinking PWM notes
|#208.startKIT||My processor-to-analogue audio equaliser notes
Also contains code for sub-note #214. Bass/treble control box
|#208.xCORE-XA||My processor-to-analogue audio equaliser notes
Bass/treble control box, but the board could not be flashed. Stopped
|#206||Fault injection detection
My most experimental, up from earth code..
|#202||kode24 – as in kode24.no article. Describing xC||Apr2020||here|
|#174||My aquarium notes
Controls aquarium and sends to #164 over radio. 124MB download but mostly all versions in
|#165||xC code examples||Code in note|
|#164||My aquarium’s data radioed through the shelf
Listens to #174 over radio
|#141||xC is C plus X||Code in note|
These projects have been built with XMOS xTIMEcomposer 14.4.1 with a downgraded Java runtime, running on macOS High Sierra (10.13.6: June2017 to June2018 but still being updated) and XMOS boards
xflash‘ed from Terminal only. (But try not to step up, yet (here)).
These xC sources contain all versions, visible in the local GitHub directory
.git (visible in xTIMEcomposer). I commit quite often.
These downloads also contain sources of all the libraries used, simply because finding them may not be as easy as in the Arduino or Python worlds, and the actual version I use in a particular project, may not be easily available elsewhere. They would mostly be XMOS libraries.
The other libraries would be some display code from Adafruit and radio code from RadioHead (inspirational) and the RFM69 library (closest to my port). These I often have rewritten, since just importing C/C++ is more of a chore than one should think. The closer to the edges, the worse. Why translate pins as bits in IO memory bitmaps when xC has
port as a first citizen in the language? With multithreaded protection! Why do
while true milliseconds(n) as something single threaded when xC has
while true select when timerafter(n) as multithreaded – also as a first citizen? Besides, my secondary (or some times primary) purpose has been to learn xC. But you would see the odd
In view of this.., I assume that this is a kind of disclaimer: I try to make function names (always in programmer’s lingua franca: English) so descriptive that headings aren’t much needed. It’s the same with variable names etc.. I use comments when I think I would need them to help my own understanding, including the one – a year away. However, I have also been thinking about any other reader out there, like you. Assuming you were more intelligent then me; if I can understand it, you can. One more thing: I don’t nest
Since I have been learning xC all the way, the code would reflect this. My goal has not been to find some library and get the job done as fast as possible, it’s rather the opposite – since I also have been doing much blogging while I developed the code.
Please help yourself! Of course, there is no guarantee, other than – there are errors that I can’t blame XMOS for. But all the projects run 24/7 and are in use. No, not #206. During all these years none of the code has crashed. Hat off for the XMOS tools xTIMEcomposer, compiler and mapper (++). They are (999‰) really good.