Course Summary IoAbstraction and TcMenu are libraries that make writing software for embedded boards easier, and generally more like writing for the desktop. These training courses aim to quick bring your team up to speed with these technologies. In addition, we can discuss the commercial addons that provide faster drivers and deployment without linking with Arduino. Like all our courses this can be tailored for your needs. Course information Duration: 1 day Cost: £499 - £999 limited special offer Locations: UK and some EU locations All prices quoted here are for on site training, exclusive of VAT and do not include travel expenses to your site.
Summary This course covers ways to take advantage of the easy development on the Arduino platform, and then deploy minimising or even completely removing the dependency. It starts ensuring everyone can deploy a simple application onto an embedded device, and builds to using available libraries and unit testing. This can be combined with the IoAbstraction training to get maximum benefit. Like all our courses this can be tailored for your needs.
If you’re thinking of using tcMenu, IoAbstraction or any other of our libraries on a commercial project, then we offer training and support to get you started quickly. It can be much more affordable than you first think too. Especially when you factor in the saved time, and reduced risk. Along with this we also have extensions to both of the libraries that are only available under a commercial license. These improvements offer significant performance gains over the open source versions, while remaining very compatible.
When you’ve got more than the simplest embedded program for Arduino (or any other framework), it becomes much harder to test that it’s working properly by purely running it. For something like Blink, testing is simple because all we need to do is upload it and see the LED turn on and off; there’s little risk of missing anything significant. However, let’s skip forward to a menu based application with Serial or Ethernet control, there is very little chance that you’d catch all the edge cases by manual testing.
While writing the IoAbstraction library and Tc Menu library I noticed that SRAM memory usage seemed to increase at a rate greater than what seemed right by static evaluation of all the objects I had created. This will become a series of articles on the subject of efficiency in micro-controller environments. In this part, we’ll look at how to evalulate memory on your device, and see how to use underlying avr tools to examine the memory requirements.
A menu library and designer UI for Arduino TcMenu is made up of a menu library for the Arduino platform, along with a designer UI and IoT remote control facilities. These include a remote control App (soon to renamed embedCONTROL), an API and a documented protocol. IOAbstraction library is used to provide event driven menus that can be controlled both on device and remotely. EEPROM storage is also supported for loading and saving state.
There is a common misconception in the electronics industry that Arduino is unsuited for professional development. As a result many companies try to use different, far more complex tool chains to develop software with far fewer ready made libraries available. What I would recommend however, is to carefully check all libraries that you are using, to ensure their license is OK for you project. Basically, for any commercial development where you intend to keep the source closed, do not use any GPL libraries (LGPL is fine as it has a linking exception).
Timed blink is a version of well known Arduino blink example that is shipped with the standard IDE, but is redesigned to use the Abstraction and timer library. Example circuit for the code is exactly the same a blink, and if you use the inbuilt LED pin (which it does by default) then there’s no need to build any circuit whatsoever. Instead of using delay() calls to set the duration of the led flash, it uses the task management library to schedule a task.
Using the LEDDisplay library LEDDisplay is an easy to use library that makes light work of multi-digit 7segment displays. If you need help building the circuit or understanding the concepts, then refer to this guide: Arduino multiple digit, 7 segment display tutorial. Answering questions and getting help Get help from the community forum for LEDDisplay You can also contact us about commercial support on LEDDisplay Setting up the LEDDisplay library Before using any methods from the library, and usually in the global scope (outside of any function) you need to include the header file and initialise the library.
If you've got a 7 segment display but are not sure if it is common anode or common cathode, then you need to check the polarity of the display. This is easily done with a low voltage supply (9V or less) from a battery, bench PSU or Arduino board. Firstly and before anything else, connect a 1K resistor between the common pin and the battery. This will avoid potential damage to the LED's in the display.