it has been a long time since my last post, I was a little bit busy.
This time I want to present some experimental code to visualize and analyze G-Sensor data. The goal was to achieve a shake detection algorithm. Unfortunately the device under test only provided 1 sample per second and that is not enough for a good shake detection. Beside that the code and classes developed may help you to find your way and they help you at last to determine the current orientation of the device.
left shows general information taken from vector, right shows a log with last vector data
left shows graphical of vector and force (length), right shows indicators for detected events
A g-sensor or accelerometer sensor normally gives you the x, y and z-values of a vector. A vector is an imaginary arrow with a direction and length starting from the three dimensional point 0,0,0. The vector direction points to the acceleration of the device. The normal acceleration on earth is 9,81m/s^2. If the device is on the desk, the y-acceleration is about minus 9.81m/s^2. The absolute value of the sensor may vary on the sensor and maybe defined as 1.0 for -9.81m/s^2 or -0.981. If you through the device up to the air, the x,y and z-values will reach 0,0,0 as if the device is weightless. Keep in mind that the acceleration towards the middle of the earth is always there and the device will come back to you.
Here is another visualization of the vector and a device (done with visual python, DOWNLOAD:vectors.py - (Hits: 388, size: 570 bytes)):
The device is facing upwards (see y arrow) with the top facing to you (the z arrow). The left side of the device is pointing to the right (the x arrow).
The light green/blue and the yellow arrows demonstrate two different vectors which show the direction (the xyz angles) and the force (the vector lengths) to the device.
Continue reading ‘Mobile Development – Shake that thing’ »
Although Intermec provides a control panel and an API to remap keys for Intermec Mobile Computers these tools only support normal remappings. This means for example you can remap a hardware key to produce a virtual key code. But you cannot map a key to the other great possibilities of the keyboard driver:
- switch the keyboard plane (shiftkey)
- map as modifier key
- map as rotate key (one that produce abc depending on how often you press is)
- multikey that produces a sequence of key strokes
- event key, one that fires a named event pair (like the scan button does)
- a function key that executes a function inside a DLL
I also added classes to manage the used tables as for example MultiKeys, ShiftKeys, RotateKeys, ModifierKeys and so on.
As an example on how the the USB codes are layed out on a device. Unfortunately I only have mappings of this device and not for the others. Therefor you can only suggest the key to remap by the printing on the key.
There is no support in the Intermec tools to remap directKeys. For example the side buttons of a CN3 or CN4 or the PTT button of the CK3 are not managed via the usb keyboard driver, these are managed by a direct keyboard driver. ITCKEYBOARD enables you to remap this keys thru an API.
Continue reading ‘ITCKeyboard: a class to manage ITC keyboard mappings’ »
I provide actually two applications as Scan2Load. But how does this work?
Scan2Load is a technology used by SmartSystems as part of Scan2Configure. Scan2Configure is part of the AutoDeploy license addon you can buy as addition to SmartSystems. Beside the fact, that you deploy applications and settings via a special DHCP option, you can also use Scan2Configure to not only deploy connection and other settings but applications to.
To invoke Scan2Configure, right click a smartsystems backup of a device. Then select Scan2Config in the popup menu and you will get the Scan2Configure dialog. In the lower part of the dialog you can enter a download location for an application setup file. This should normally be a cab file on a ftp or http server.
Continue reading ‘ITC: What is Scan2Load’ »