HAL, the link with the outside world
Without the HAL (Hardware Abstraction Layer) communicate with sensors and actuators would be difficult. For each type of sensor you should write a piece of firmware (like you do with Arduino) and ind each new variation of sensors, You should rewrite the firmware.
It would also be very difficult, achieve performance, that can be reached with our firmware, and our HAL (We work from 3 years, ten hours a day, including holidays – make over ten thousand hours, MICA peanuts!)
We were asked “How come you have to use the HAL ?”
The HAL should be used if you need to access your hardware via USB. In theory it is not absolutely necessary, but We did not find a better system. For those wishing to try, Here's the information you need:
- This is the Protocol to communicate with the firmware:
- Here is how you convert values to and from the hardware:
- And of course a great comfort is the project of HAL to copy from
Why not expose mechanisms to guide the HAL from the outside?
How many functions you hang, would be missing something (such as charts of the oscilloscope, the configurations, automatic reconnection, the calibration…). But suppose someone, pharaonic work, come to control all functions of the HAL. The result would be only, he recreated a clone of HAL, in a different application.
As already written in the previous paragraph, If someone wants to try, take a seat.
How to use the HAL
The HAL can open and close by itself transparently. All applications that need it, the open and close their own. Normally the HAL open minimized and does not bother. But when you need it, You can open his window which is very useful, to make comfortable adjustments, and try the sensors. Then it minimizes again, so the next time you will get minimized.
How to open and close the HAL from within an application is explained here:
And if an application is not able to open and close the HAL?
In this case prepares a folder with your application, the HAL and a file “Start All”, as explained here: