For many projects it would be cool to build a custom USB Joystick device, either as custom game controller for Windows or any USB host which can be used with a USB Joystick. Instead buying one, why not build my version? All what I need is a USB capable board, some kind of input (potentiometer, push buttons) and some software, and I have my USB Joystick:
The year is coming to an end, the Holiday season is approaching. In case you are looking for a nice present: I have completed my version of a sand clock: a clock writing the time into sand:
If you are interested to build your own version, I have documented the different steps with tips and tricks…
A new McuOnEclipse components release was long overdue, so I’m pleased to announce that a new drop is available with the following major changes:
- Segger SystemView library with kernel time reporting
- GenericTimeDate supports different hardware RTC devices
- Utility with little endian packet handling functions
- Shell Standard I/O handlers for USB CDC, Segger RTT and Bluetooth
- FreeRTOS and stack size reporting
- printf() support in Shell component
- Various small bug fixes and improvements
Time for a new major update of the McuOnEclipse components, with the fillowing main features and changes:
- FatFS component updated to R0.12 with patch 3 and exFAT support
- Extended support for Cortex-M7
- Extended support for Kinetis SDK V2.0
- USB component support for Kinetis SDK V1.3
- Improved FreeRTOS for NXP FreeRTOS TAD plugin
- Added C++ wrappers to multiple components
- Many smaller fixes and improvements
A new release is available on SourceForge, with the following main changes:
- Support for FreeRTOS and Cortex-M7
- Segger SystemView updated to V2.38
- Components for NXP Kinetis SDK V1.3
- Fixed bug in Wait component (register handling for GCC and ARM)
- FatFS supports FreeRTOS V9.0.0 with static memory allocation
- FreeRTOS shell and task list with static memory allocation
- Floating point conversion routines in Utility
- FreeRTOS component shows NVIC mask bits
Time is passing fast, and many components have been updated to make the compatible with the NXP Kinetis SDK V2.0. As a highlight, besides of FreeRTOS the following components are now usable with the NXP Kinetis SDK:
It has been already two months after the Feb 2016 release, and so much things are going on, so a new release was overdue. Today I have released a new version of the McuOnEclipse components on SourceForge with the following main changes and features:
- Kinetis SDK v2 with Processor Expert: Now many components can be used even with the Kinetis SDK v2.0 even with the Kinetis SDK not having Processor Expert included.
- Updated Segger SystemViewer to v2.32a with post-mortem and static buffer support
- Updated Segger RTT to v5.10u and fixed an issue with interrupts on Cortex-M4
- FreeRTOS Thread Awareness with OpenOCD
See readme on SourceForge for the full history.
With the start of the new year 2016 I have published a new McuOnEclipse component release with the following major updates:
- Updated Segger SystemView and Real Time Transfer (RTT): added terminal functions and extra interfaces
- Improved USB CDC with serial number handing
- FreeRTOS TaskList shell command
- USB Stack: added MSD Host support for MCF52259, added support for K24FN120 and for the 100 MHz K20 devices
- New NEOMatrix component for Adafruit NeoPixel Matrix displays
Time is flying fast, time for another McuOnEclipse components release on SourceForge with the following main changes and features:
- New component for Segger RTT makes adding a console communication interface super easy (and fast!)
- RTT support for the command line Shell component
- RTT component used for Percepio FreeRTOS Tracing
- Updated USB component, support for USB CDC blocking/waiting and endpoint configuration
- Updated FreeRTOS to V8.2.3, memory heap selection improved and setting for time slicing
- RingBuffer implements a Delete() method
- Extended Kinetis SDK support in components, added by default
On SourceForge I have published an update of the McuOnEclipse software components, with following major changes:
- FreeRTOS updated to version V8.2.2 which comes with TLS (Thread Local Storage) support and GDB debug helpers.
- Percepio Trace updated to V3.0.2 with the release of Segger Real Time Terminal (RTT) for continuous trace streaming.
- FSL_USB_Stack with alternate USB initialization to deal with an issue in combination with the Kinetis SDK v1.3.0
- GenericI2C and GenericSWI2C have added support for custom I2C bus handling.
These days machines do not have physical serial (COM) ports any more. I do not understand why the USB group had missed to define a clean serial communication standard :-(. And the same mistake gets repeated for BLE again 😦 :-(. So every vendor and provider has its own USB CDC driver and interface. And it is really a big pain of the virtual COM/USB CDC ports installed. I have seen countless cases where “the USB UART or CDC port does not work”. So if you have such a problem, I might have a tip for you: Show hidden devices in the Windows Device manager. But in a special way I had not thought about it!
I know: A new McuOnEclipse Processor Expert components release was long overdue. But I have been extremely busy in the last months, but now the university semester is over, and I have finally some spare time to catch up on a lot of things. So here we go: there is a new component release available on SourceForge (https://sourceforge.net/projects/mcuoneclipse/files/PEx%20Components/): Components 2015-07-05.zip
This post is overdue, as it is about the McuOnEclipse components which have been released already a few days ago. The highlights are (beside smaller updates and bug fixes):
- Nordic Semiconductor nRF24L01+ component extended for shared SPI bus usage
- SD_Card component can use AsynchroSerial component for Kinetis
- FatFS has added v0.10c patches
- FSL_USB_Stack: Host support for Kinetis K20D72 and support for FRDM-K22F (K22FN512)
- FreeRTOS has added Timer API support
The FRDM-K22F is one of the latest members of the Freedom board families: 512 KByte Flash, 128 KB RAM and the usual Freedom board components on it. Unfortunately, Freescale decided not to populate the micro-SD card connector on the board, so from this perspective the FRDM-K64F is more value for the money. But the board has USB, so this makes it still interesting. And this is what this post is about: Adding USB to the FRDM-K22F board in a few minutes…
Travel is a hassle these days: airline on strike in Europe, long security lines at the airport, bumpy flight and long transfer to the hotel which is so tiny that the taxi driver missed it twice! Anyway, at least this time the reservation of the room *did* work. Arrived completely tired and with notebook batteries drained and empty. Unpacked the power adapter, ready to charge it up. Only to realize that the notebook power supply cable does not match the travel adapter plug! :-(:
So I have packed the 3-pin notebook power supply instead my usual travel 2-pin one 😦
I have received several requests to post a quick note when there is a new release (16-Nov-2014) of the McuOnEclipse components on SourceForge (see “McuOnEclipse Releases on SourceForge“). I have published today a new release, and with following major improvements:
- USB support for Kinetis KL24Z
- FatFs now features the latest Elm-Chan v0.10c release
- Backspace support in Shell
- Configuration item in FreeRTOS for Percepio Trace Hooks
Sometimes I think that a problem should be solvable in a few minutes, and then it turns out that it lingers around for months. Very, very frustrating! Such a thing is getting the USB 4.1.1 stack running on the FRDM-K64F board. I have that board since April 2014, and it took me 7 months to get the FSL USB stack running on it :-(.
Sometimes I have a good idea how to extend one of my Processor Expert components with an extra feature, but then I step back because why implementing more than I need at the moment? Until another user of the component simply asks for the same thing, and here we go: if one or more can take advantage of a feature, that’s definitely a strong argument to add it :-). This happened with the RingBuffer Processor Expert component I’m using in many projects. And a reader of this blog asked to add some extra event methods: when an item is added or removed to the buffer.
For my embedded course at the University of Lucerne of Applied Sciences and Arts I needed more Bluetooth modules for the Zumo/Sumo robots. I run out of stock as the modules are getting popular and are used in many student projects. So I ordered a handful more from DX/DealExtreme of the same HC-06 type/part number I already ordered a while back. I expected that they will work as the modules I had ordered from DX half a year ago. Was that naïve? Probably. Because they did *not* work, and caused me to reverse engineer the modules and to apply a hardware fix to get them working….