Professional Operating SystemMicrosoft Windows CE, available in CORE and PROFESSIONAL version. | ||
Software Development ToolsThe complete Digitax Framework 4.1 allow the developers to create their applications and their services with the maximum simplicity and in very reduced time. A rich set of Sample Source Code is provided, along with extensive technical support. | ||
Professional Automotive Connectors and WiringsAutomotive connectors designed specifically for use in automotive systems. | ||
Removable Storage MemoryExternal microSDHC socket accepts memories up to 32 GB. | ||
USB Client Port and USB Host PortUSB Client Port available for Development and ActiveSync connection, USB Host Port available for external peripherals such as USB Pen, USB Mouse, USB Keyboards, etc. | ||
TouchScreen DisplayTFT Colour Display with TouchScreen allow to develop easy accessible application interface. | ||
Professional Automotive TouchScreenAutomotive TouchScreen designed to satisfy Automotive specifications (automotive temperature range). | ||
Brillant DisplayHigh Brightness, Daylight readable display. | ||
Back-Light ControlBrightness can be control manually and programmatically. | ||
Ambient Light SensorDedicated sensor available for intelligent automatic back-light control. | ||
Programmable Hardware Keys with LedsAvoid consumption and damage of Touch Screen for heavily used operations. An API is provided which allows to interface Hardware Keys with the user application. | ||
Smart Power ButtonThe power key is a Smart Power Button, completely programmable and used to perform several important tasks. Can be also disabled or programmed to trigger Ghost Mode (fake shutdown). | ||
Automotive Range Power SupplyThe device can be powered with voltages ranging from 8 to 32 VDC, therefore can be installed in any kind of vehicles, without the need to use additional external DC-DC converters. | ||
Removable Device with Docking StationThe device can be easily removed and saved to avoid eventual thefts or damages while the driver is out of the car. | ||
Device can be locked and sealed to the Docking StationIt is possible to lock and seal the device to the docking, making it unmovable. | ||
Up to 8 available External RS232 COM Ports (ESD Protected to 15 KV)The customer can choose between 0, 2, 4 or 8 external free available COM Ports to connect directly several peripherals without using critical connections (such as Bluetooth connection). | ||
Independent Secondary CPU for Automotive Intensive Tasks (AITP)The secondary CPU is always working, even when Windows is powered off. The AITP Supply the necessary functionalities in the automotive field. | ||
Hardware WatchDogImportant feature that allows the device reboot in case of application crashes. | ||
RTCReal Time Clock with calendar is provided. | ||
Over-The-Air Update (Server and Client)The OTA Client allows the update of the whole Operating System and all the CPUs Firmware. The OTA Server provides vehicles enrolling, group management and selective update, remote debugging and logging, with web based user interface. | ||
On-Field TestsOFT (On Field Test) OnBoard Diagnostic Utilities included with Customizable CheckList (GPS Fix, GPS Antenna, GPRS Connectivity and Base Station Signal Quality, Odometer, Ignition, Panic Button, TouchScreen calibration, Hardware Keys, Ambient Light Sensor, Device version, OS Version, AITP Version, Taximeter, UPS and Battery Status, Roof Light, Navigation Software). These tests and enrolling features can be used during first installation and swap of devices. | ||
Audio Mixer (Windows/GSM) with Hand-freeThe audio channel selection (Windows line and mic or GSM phone) can be done programmatically through a dedicated API. | ||
On-board GPS and GPRSGPS Receiver and GPRS wireless engine are built-in. | ||
On-Board Peripherals Power Management with APIEach peripheral (GPS, GPRS, Bluetooth, etc.) can be powered on and off programmatically through a dedicated API, in order to optimize the power consumption when the peripheral isn't necessary. | ||
GPRS Modem with Hardware MUXHardware MUX Port allows to send AT commands to the modem while the device is connected in GPRS, for example to request connection status, signal diagnostic and modem statistics, to send and receive SMS, to manage voice calls. | ||
Option for mounting either GPRS, EDGE or UMTSBoard to Board connector pin to pin compatible between GPRS (base), EDGE (option) and UMTS (option) retrofit upgradable. | ||
GPS and GPRS AITP COM SnifferAll the communication and tracking features are assured by the AITP processor even when the Device is powered OFF: the GPS and GPRS modules are managed by the AITP both for power supply and for communication. | ||
GPS Hardware COM SplitterThe GPS data can be delivered to two different Serial ports (for example one port used by the navigation software and the other by the logistic tracking application). | ||
Doble SIM with Software controlled SwitcherThere are two SIM card slots, a switcher allows to select programmatically the provider with the best signal. | ||
Wake Up on RingWith this feature is possible to remotely turn-ON the device (also in stealth mode so nobody can see that it is starting) in order to check vehicle position, internal audio listening and other data. | ||
Stealth Mode ControllerStealth mode is a special operating mode in which the system is working but the display and audio are OFF (used for driver control and during alarm status). | ||
Professional RF connector for GPS and GPRS AntennasAllows to perform installation using external antennas, when the GPS and GPRS signal reception is difficult: for example to overcome the problems given by the modern vehicle shielded environment. | ||
Filtered and Protected InputsAnalog and Digital inputs available, filtered and protected against over voltages, that are usual in the automotive environment. | ||
Filtered and Protected Power OutputsPower outputs available, filtered and protected against short circuits and over temperature. | ||
High Speed Digital Inputs/OutputsThese are specially programmable digital inputs and outputs, that allow to perform high speed communication with external equipments. | ||
Odometer InputThis feature allows to track the distance covered and the real time speed using an independent wheel pulse input. | ||
Dedicated Engine InputThe Engine input can be used to automatically Power ON/OFF the system according to the Engine Key Status, this input is working even if Windows is OFF. | ||
CAN InterfaceThe CAN interface can be connected to a standard CAN V2.0B at 1 Mb/s, application layers can be developed and customized at firmware level. | ||
Dedicated Emergency Switch InputThis input can be directly connected to the Panic Button, and is working even if Windows is OFF (more, it works even if the Windows Device has been removed from the docking station). |
Samsung Primary CPU is 400MHz and the ARM architecture allows this Device to supply a remarkable flexibility and efficiency in computing power, together with reduced power consumption.
Secondary CPU AITP (Automotive Intensive Task Processor) supplies the necessary functionalities in the automotive field, like power management, Safe Shutdown, Wheel Pulses Odometer, Distance and Speed calculation, Wake-Up on Ring, Over-the-Air services for software and firmware updates.
The AITP is OTA programmable for remote automatic firmware upgrade, and is always powered ON; it can turn-ON and OFF the Device and all its peripherals.
The Device represents the state-of-the-art device for job dispatching and fleets management, an ALL-IN-ONE powerful and compact solution.
Its modem GPRS/EDGE (optionally also UMTS) allows very reliable communication with operating headquarters. The vehicle is located by the high performance GPS U-Blox 5 receiver with 50 channels, and compatible with the new European positioning system GALILEO.
Both GPS and GPRS modules can be powered ON and OFF regardless of Windows CE status.
An Hardware MUX Port is available which allows to send AT commands to the modem while the device is connected in GPRS, for example to request connection status, signal diagnostic and modem statistics.
All the communication and tracking features are assured by the AITP processor even when the Device is powered OFF: the GPS and GPRS modules are managed by the AITP both for power supply and for communication.
The Docking Station is connected directly to the vehicle with all necessary cables: the device can be easily removed and saved to avoid eventual thefts or damages while the driver is out of the car: of course it is possible to lock and seal the device to the docking, making it unmovable.
Display unit and docking station are hardware and software paired so each display unit works only with proper paired docking station.
The 4.3 inches 16:9 clear readable TFT Displays with 480x272 resolution allow to develop versatile and high accessible applications, thanks also to the integrated TouchScreen controller, and to the 9 keys with LEDs available.
Hardware Keys avoid consumption and damage of Touch Screen for heavily used operations.
The ambient light sensor allows to choose an optimal brightness of the display in any environmental light.
The power key is a Smart Power Button, completely programmable and used to perform several important tasks such as:
Can be also disabled or programmed to trigger Ghost Mode (fake shutdown).
Through this powerful functionality is possible to restore and to update the entire system anytime, starting from user application up to the complete operating system and all the CPU firmwares.
The system is able to boot from two different disks:
Stealth mode is a special operating mode in which the system is working but the display is OFF. This feature can be useful in several situations:
The Device can withstand glitches at car start, or power loss problems thanks to the internal capacitors and to the minimum power voltage requested from the automotive CPU.
An optional External USP Battery is available for 1 hour operation without main power and the AITP processor can gives time to user applications and Windows to close gracefully and safely in case of sudden disconnection of the Main Power.
The Device supplies a wide range of communication channels with the external environment: two USB Host, one USB Device and up to 8 Serial Ports.
The special programmable digital inputs and outputs allow to control devices and read signals coming from generic external equipments.
Microsoft Windows CE .NET Operative System and Compact Framework 3.5 combined with the complete Digitax Framework 4.1 allow the developers to create their applications and their services with the maximum simplicity and in very reduced time.
A rich set of Sample Source Code is provided, along with extensive support from Digitax Automotive highly trained Staff.
ForceOne MDT Block Diagram
The Microsoft Windows CE .NET Operative System and the Compact Framework 3.5 combined with the APIs, SDK and the complete Digitax Framework 4.1 provided allow the developer to create their applications and their services with the maximum simplicity and in very reduced time.
The Force One, with one USB Device for PC linking and debugging, provides a full development set of easy and powerful libraries that allows to avoid an advanced knowledge of programming languages.
The Digitax Framework 4.1 then will perform the most difficult and critical operations providing smart and trasparent proprieties and methods to the developer that allow to develop stable and powerful applications and services.
Select a component to view the details of the supplied functionalities.
FEATURES |
|
IPreShut | IPreShut allows to check if windows is closing, so the application will have time to correctly close itself. |
APPLICAZIONI FUNZIONE |
public class IPreShutSample { //Checks IPreShut with a timer System.Threading.Timer _tmrCheck; DigitalIO.Wrapper41.DigitalIO _dgtIO; public IPreShutSample() { _dgtIO = new DigitalIO.Wrapper41.DigitalIO(); _tmrCheck = new System.Threading.Timer(new System.Threading.TimerCallback(CheckIPreshut), null, 1000, 1000); } private void CheckIPreshut(object obj) { if (_dgtIO.DGRead(DigitalIO.Wrapper41.DGIndex.IPRESHUT)) { //Stop Timer _tmrCheck.Change(System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite); //System is closing: call closing routine } } } |
Shutdown | Allows to shut down Windows and the device. |
APPLICAZIONI FUNZIONE |
public class ShutDownSample:IDisposable { //Perform a ShutDown Aitp.Wrapper41.AitpCore _aitp; public ShutDownSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); } public void ShutDown() { _aitp.AITPShutDownWindows(); } public void Dispose() { _aitp.AITPRelease(); } } |
Shutdown and Restart | Allows to shut down and restart Windows and the device. |
APPLICAZIONI FUNZIONE |
public class ShutDownAndRestartSample : IDisposable { //Perform a ShutDown and restart Aitp.Wrapper41.AitpCore _aitp; public ShutDownAndRestartSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); } private void ShutDown() { _aitp.AITPShutDownWindowsAndRestart(); } public void Dispose() { _aitp.AITPRelease(); } } |
FEATURES |
|
Alarm managing | If system is off and alarm button is pressed the system can be started in stealth mode, so anyone could see that the system starts. On this special start the system can be programmed for example to send an alarm message to the central, GPS position or also screenshots or audio. |
APPLICAZIONI FUNZIONE |
public class AlarmSample : IDisposable { //Alarm mode Aitp.Wrapper41.AitpCore _aitp; public AlarmSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); _aitp.EvAITPCurrentStatusTrigger += new Aitp.Wrapper41.AitpCore.delAITPActivateCurrentStatusTrigger(_aitp_EvAITPCurrentStatusTrigger); _aitp.AITPInitCurrentStatusTrigger(); } void _aitp_EvAITPCurrentStatusTrigger(byte EmergencyStatus, byte StealthStatus, uint lparam) { EmergencyStatus.ToString(); StealthStatus.ToString(); } public void EnableAlarm(bool alarmEnabled) { if (alarmEnabled) { _aitp.AITPEnableAlarm(); } else { _aitp.AITPDisableAlarm(); } } public void Dispose() { _aitp.AITPRelease(); } } |
FEATURES |
|
Magnetic Card Reader | To the device con be connected a 3 track magnetic card reader, it can be used for standard credit card or for company card. To interface the card reader it is given a simple software interface which allows to quickly interface it. |
APPLICAZIONI FUNZIONE |
public class MagReaderSample : IDisposable { //Alarm mode Aitp.Wrapper41.AitpCore _aitp; public MagReaderSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); _aitp.EvAITPMagReaderTrack1Info += new Aitp.Wrapper41.AitpCore.delAITPActivateMagReaderTriggerTrack1Info(_aitp_EvAITPMagReaderTrack1Info); _aitp.EvAITPMagReaderTrack2Info += new Aitp.Wrapper41.AitpCore.delAITPActivateMagReaderTriggerTrack2Info(_aitp_EvAITPMagReaderTrack2Info); _aitp.EvAITPMagReaderTrack3Info += new Aitp.Wrapper41.AitpCore.delAITPActivateMagReaderTriggerTrack3Info(_aitp_EvAITPMagReaderTrack3Info); _aitp.AITPInitMagReader(); } void _aitp_EvAITPMagReaderTrack3Info(string szTrack3, uint lparam) { } void _aitp_EvAITPMagReaderTrack2Info(string szAccountNum, string szExpire_Year, string szExpire_Month, string szServiceCode, string szTrack2, uint lparam) { } void _aitp_EvAITPMagReaderTrack1Info(string szCustomerName, string szTrack1, uint lparam) { } public void AskLastCard() { _aitp.AITPMagAskLastCard(); } public void Dispose() { _aitp.AITPRelease(); } } |
FEATURES |
|
Light Intensity | From the dedicated sensor can be read the current light intensity value |
APPLICAZIONI FUNZIONE |
public class LightIntensitySample : IDisposable { //Gets current light intensity Aitp.Wrapper41.AitpCore _aitp; public LightIntensitySample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); _aitp.EvAITPLightIntensityTrigger += new Aitp.Wrapper41.AitpCore.delAITPActivateLightIntensityTrigger(_aitp_EvAITPLightIntensityTrigger); _aitp.AITPInitLightDimmer(); _aitp.AITPAskLightIntensity(); } void _aitp_EvAITPLightIntensityTrigger(byte LightIntensity, uint lparam) { // LightIntensity is current light intensity value 0 - 7 } public void Dispose() { _aitp.AITPRelease(); } } |
Dimmer Value | Display dimmer value can be get and set to change display brightness. |
APPLICAZIONI FUNZIONE |
public class DimmerSample : IDisposable { //Gets current light intensity Aitp.Wrapper41.AitpCore _aitp; public DimmerSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); _aitp.EvAITPDimmerValueAndTableTrigger += new Aitp.Wrapper41.AitpCore.delAITPActivateDimmerValueAndTableTrigger(_aitp_EvAITPDimmerValueAndTableTrigger); _aitp.AITPAskDimmerValueAndTable(); } void _aitp_EvAITPDimmerValueAndTableTrigger(byte DimmerValue, byte[] DimmerTable, uint lparam) { //DimmerValue is current dimmer value 1 - 32 , 0 means dimmer OFF , 33 dimmer is autoregulating } public void SetDimmerValue(byte dimmVal) { _aitp.AITPSetDimmerValue(dimmVal); } public void Dispose() { _aitp.AITPRelease(); } } |
Dimmer Table | Dimmer Table can be set get in order to adjust the automatic dimmer regulation, it is an eight byte array, each one is the dimmer value that the device will use on a specific light intensity value. |
APPLICAZIONI FUNZIONE |
public class DimmerTableSample : IDisposable { //Gets current dimmer table Aitp.Wrapper41.AitpCore _aitp; public DimmerTableSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); _aitp.EvAITPDimmerValueAndTableTrigger += new Aitp.Wrapper41.AitpCore.delAITPActivateDimmerValueAndTableTrigger(_aitp_EvAITPDimmerValueAndTableTrigger); _aitp.AITPAskDimmerValueAndTable(); } void _aitp_EvAITPDimmerValueAndTableTrigger(byte DimmerValue, byte[] DimmerTable, uint lparam) { //DimmerTable is current dimmer table it's a byte[] array } public void SetDimmerTable() { byte[] table = new byte[] { 10 , 13 , 16 ,19 ,22 , 25, 28, 32 }; _aitp.AITPSetDimmerTable(table); } public void Dispose() { _aitp.AITPRelease(); } } |
FEATURES |
|
GPS Position | This function allows to know the vehicle position (latitude and longitude). It's also return the status of the tracking (Fix = true or false). |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.GPS; class Example { GpsManager _gpsManager; public Example() { _gpsManager = new GpsManager("COM1:", 9600); _gpsManager.PositionChanged += new GpsPositionChangedHandler(_gpsManager_PositionChanged); _gpsManager.FixChanged += new GpsFixChangedHandler(_gpsManager_FixChanged); _gpsManager.MovementChanged += new GpsMovementChangedHandler(_gpsManager_MovementChanged); _gpsManager.Start(); } void _gpsManager_PositionChanged(GpsPosition position) { Console.WriteLine(string.Format("New position: lat={0}, lng={1}", position.Latitude.TotalDegrees, position.Longitude.TotalDegrees)); } void _gpsManager_FixChanged(GpsFix fix) { Console.WriteLine("Fix: " + (fix.IsFixing ? "yes" : "no")); } void _gpsManager_MovementChanged(GpsMovement movement) { Console.WriteLine("Speed: " + movement.Speed.Value.ToString()); } } |
GPS Satellites | This function allows to read all satellites informations. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.GPS; class Example { GpsManager _gpsManager; public Example() { _gpsManager = new GpsManager("COM1:", 9600); _gpsManager.PositionChanged += new GpsPositionChangedHandler(_gpsManager_PositionChanged); _gpsManager.FixChanged += new GpsFixChangedHandler(_gpsManager_FixChanged); _gpsManager.MovementChanged += new GpsMovementChangedHandler(_gpsManager_MovementChanged); _gpsManager.Start(); } void _gpsManager_PositionChanged(GpsPosition position) { Console.WriteLine(string.Format("New position: lat={0}, lng={1}", position.Latitude.TotalDegrees, position.Longitude.TotalDegrees)); } void _gpsManager_FixChanged(GpsFix fix) { Console.WriteLine("Fix: " + (fix.IsFixing ? "yes" : "no")); } void _gpsManager_MovementChanged(GpsMovement movement) { Console.WriteLine("Speed: " + movement.Speed.Value.ToString()); } } |
GPS Threshold Setting | Gps receiver can be set in order to be more or less sensible to position changing, for example can be changed the PDOP fix threshold or the static threshold which makes the receiver not to change the output position if speed is under a certain threshold. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.GPS; class Example { GpsManager _gpsManager; public Example() { _gpsManager = new GpsManager("COM1:", 9600); _gpsManager.PositionChanged += new GpsPositionChangedHandler(_gpsManager_PositionChanged); _gpsManager.FixChanged += new GpsFixChangedHandler(_gpsManager_FixChanged); _gpsManager.MovementChanged += new GpsMovementChangedHandler(_gpsManager_MovementChanged); _gpsManager.Start(); } void _gpsManager_PositionChanged(GpsPosition position) { Console.WriteLine(string.Format("New position: lat={0}, lng={1}", position.Latitude.TotalDegrees, position.Longitude.TotalDegrees)); } void _gpsManager_FixChanged(GpsFix fix) { Console.WriteLine("Fix: " + (fix.IsFixing ? "yes" : "no")); } void _gpsManager_MovementChanged(GpsMovement movement) { Console.WriteLine("Speed: " + movement.Speed.Value.ToString()); } } |
GPS Hardware Antenna monitor | GPS receiver gives also some specific information about its status like antenna disconnection or if there is a short circuit. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.GPS; using Digitax.Mobile.GPS.Ublox; class Example { GpsManager _gpsManager; UbloxManager _ublox; public Example() { _gpsManager = new GpsManager("COM1:", 9600); _ublox = new UbloxManager(_gpsManager); _ublox.AgcChanged += new AgcChangedHandler(_ublox_AgcChanged); _ublox.AntennaStatusChanged += new AntennaStatusChangedHandler(_ublox_AntennaStatusChanged); _gpsManager.Start(); } void _ublox_AgcChanged(int agc) { Console.WriteLine("AGC value is changed: " + agc.ToString()); } void _ublox_AntennaStatusChanged(UbloxAntennaStatus antennaStatus) { Console.WriteLine("Antenna status is changed: " + antennaStatus.ToString()); } } |
FEATURES |
|
IMEI | It permits to read the Modem IMEI (International Mobile Equipment Identifier). |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); } public string GetModemImei() { return _modem.IMEI; } } |
IMSI | It permits to read the IMSI from the SIM inserted in the modem. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); } public string GetSimImsi() { return _modem.IMSI; } } |
Signal | It permits to read the signal power. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); } public int GetSignalStrength() { return _modem.SignalStrength; } } |
SIM Check | It permits to check if the SIM is present in the modem. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); } public SimCardStatus GetSimStatus() { return _modem.SimStatus; } public bool IsSimPresent { get { return _modem.SimStatus == SimCardStatus.Present; } } } |
SIM ID | It permits to read the SIM CARD ID (SCID). |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); } public string GetSimID() { return _modem.SimID; } } |
Network Registration | It permits to obtain the actual registration status to the phone network. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); } public NetworkStatus GetNetStatus() { return _modem.NetStatus; } public bool IsRegistered { get { return _modem.NetStatus == NetworkStatus.Registered || _modem.NetStatus == NetworkStatus.RegisteredRoaming; } } } |
Network Provider and Cell name | It permits to obtain the network provider name and the cell name actually used. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); } public string GetNetOperatorName() { return _modem.NetOperatorName; } public string GetNetCellName() { return _modem.CellName; } } |
Available Network Protocol | It permits to obtain the data protocol actually available to the network. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); } public DataProtocolType GetDataProtocolType() { return _modem.DataProtocol; } public bool IsDataProtocolAvailable { get { return _modem.DataProtocol >= DataProtocolType.GPRS; } } } |
Modem Temperature Status | It permits to obtain the status of the Modem temperature and know if it's in alarm status. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); } public ModemTemperatureStatus GetTemperatureStatus() { return _modem.TemperatureStatus; } public bool IsTemperatureOk { get { return _modem.TemperatureStatus == ModemTemperatureStatus.Normal; } } } |
Phone cells informations | It permits to obtain phone cell informations of the actually connected cell and informations of the adjacent cells. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); } public CellInfo[] GetCellsInfo() { return _modem.GetCellsInfo(); } public int GetServingCellRxDBm() { if (_modem.NetStatus == NetworkStatus.Registered || _modem.NetStatus == NetworkStatus.RegisteredRoaming) { return GetCellsInfo()[0].RxDBm; } else { return 1; // no serving cell } } } |
Modem Power On/Power Off | It permits to power on and power off the hardware modem. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); } public void SwitchOff() { _modem.PowerOffModem(true); } public void SwitchOn() { _modem.PowerOnModem(true); } } |
Send/Receive SMS | It permits to send and receive short text messages. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); _modem.RxSms += new RxSmsHandler(_modem_RxSms); } void _modem_RxSms(Sms sms) { Console.WriteLine("NEW SMS RECEIVED"); Console.WriteLine("========================"); Console.WriteLine("From: " + sms.Sender); Console.WriteLine("Datetime: " + sms.Time.ToString()); Console.WriteLine("========================"); Console.WriteLine(sms.Text); } public void SendSms() { _modem.SendSMS("+3901234567890", "Hello John, how are you?"); } } |
Answer/Deny vocal calls | It permits to know when a vocal call is coming and permits to answer or refuse it. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, true); _modem.Ring += new RingHandler(_modem_Ring); } void _modem_Ring(int ringsCount) { Console.WriteLine("Ringing... (ring #" + ringsCount.ToString() + ")"); if (_modem.CLI != null) Console.WriteLine(" calling number: " + _modem.CLI); } public void Answer() { _modem.Answer(); } public void Hang() { _modem.Hang(); } } |
PIN | It permits to assign to the library the PIN to use with the SIM without a permanent block. The SIM will ask the PIN when the modem will be power off or the SIM will be disconnected from the modem. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, false); _modem.PIN = "1234"; _modem.Enabled = true; } } |
PIN Request | If the PIN isn't known is available an event to ask it to the user. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; class Example { ModemManager _modem; public Example() { _modem = new ModemManager("COM7:", 9600, false); _modem.OnPINRequest += new OnPINRequestHandler(_modem_OnPINRequest); _modem.Enabled = true; } void _modem_OnPINRequest(int remainingAttempts, ref string pin, ref bool removePin) { Console.WriteLine("PIN required"); Console.WriteLine(" remaining attempts: " + remainingAttempts.ToString()); Console.Write("enter PIN: "); pin = Console.ReadLine(); removePin = Console.ReadLine("Remove PIN permanently? (Y/N) ").ToLower() == "y"; } } |
RAS connections enumerations | It permits to obtain the list of the configured RAS connections in the system. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.RAS; class Example { public void PrintRasEntries() { Console.WriteLine("RAS ENTRIES"); foreach (RasEntryName entry in RasManager.GetEntryNames()) { Console.WriteLine(" entry: " + entry.Name); } } } |
Open/Close a connection | It permits to open and close a RAS connection; an event will notify all connection status changes. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.RAS; class Example { RasEntryManager _rasEntry; public Example() { _rasEntry = new RasEntryManager("GPRS CONNECTION"); _rasEntry.ConnectionStateChanged += new RasEntryManager.ConnectionStateChangedHandler(_rasEntry_ConnectionStateChanged); } void _rasEntry_ConnectionStateChanged(RasConnectionState oldConnState, RasConnectionState newConnState) { Console.WriteLine( "RAS connection 'GPSR CONNECTION' now is in '" + newConnState.ToString() + "' status"); } public void Connect() { _rasEntry.Dial(); } public void Disconnect() { _rasEntry.HangUp(); } } |
Connection statistics | permits to obtaining the system statistics of the RAS connection. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.RAS; class Example { RasEntryManager _rasEntry; public Example() { _rasEntry = new RasEntryManager("GPRS CONNECTION"); } public void PrintConnectionTimespan() { if (_rasEntry.GetConnectionState() != RasConnectionState.Connected) { Console.WriteLine("GPRS CONNECTION is not connected"); return; } Console.WriteLine("GPRS CONNECTION is connected from " + _rasEntry.GetConnection().GetStatistics().ConnectDuration.ToString()); } } |
Keep RAS connection working | it permits to keep the RAS connection always active in base also of the phone network informations obtained from the Modem Manager. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Modem; using Digitax.Mobile.RAS; using Digitax.Mobile.RAS.Link; class Example { ModemManager _modem; RasEntryManager _rasEntry; LinkManager _link; public Example() { _modem = new ModemManager("COM7:", 9600, true); _rasEntry = new RasEntryManager("GPRS CONNECTION"); _rasEntry.ConnectionStateChanged += new RasEntryManager.ConnectionStateChangedHandler(_rasEntry_ConnectionStateChanged); _link = new LinkManager(_rasEntry, _modem, true); } void _rasEntry_ConnectionStateChanged(RasConnectionState oldConnState, RasConnectionState newConnState) { Console.WriteLine("RAS connection now is '" + newConnState.ToString() + "'"); } } |
FEATURES |
|
Hardware ID | It's a unique code for each device made of 16 hexadecimal characters |
APPLICAZIONI FUNZIONE |
public class HardwareIDSample : IDisposable { //Gets the HardwareID Aitp.Wrapper41.AitpCore _aitp; public HardwareIDSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); _aitp.EvAITPAskSoftwareVersion += new Aitp.Wrapper41.AitpCore.delAITPAskSoftwareVersion(_aitp_EvAITPAskSoftwareVersion); _aitp.AITPAskSoftwareVersion(); } void _aitp_EvAITPAskSoftwareVersion(Aitp.Wrapper41.AitpObjects.AitpVersionData avd) { //Gets the device HardwareID avd.HwID.ToString(); } public void Dispose() { _aitp.AITPRelease(); } } |
FEATURES |
|
Keys Status | The Device sends a bitmask with current key status every time that a button is pressed or released |
APPLICAZIONI FUNZIONE |
public class HwKeysSample : IDisposable { //Gets keyboard status Aitp.Wrapper41.AitpCore _aitp; public HwKeysSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); _aitp.EvAITPFOKeyboardTrigger += new Aitp.Wrapper41.AitpCore.delAITPActivateFOKeyboardTrigger(_aitp_EvAITPFOKeyboardTrigger); _aitp.AITPInitKeyboard(true); } void _aitp_EvAITPFOKeyboardTrigger(ushort FOKeysStatusMask, uint lparam) { //FOKeysStatusMask contains the force one buttton pressed status bitmask // FORCE ONE KEYS / LEDS Mapping // bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 // Up Down Enter Canc K4 K3 K2 K1 OP } public void Dispose() { _aitp.AITPRelease(); } } |
Key Leds | Key lad status can be changed using a simple command |
APPLICAZIONI FUNZIONE |
public class HwKeysLedSample : IDisposable { //Sets led status Aitp.Wrapper41.AitpCore _aitp; public HwKeysLedSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); } public void SetLedStatus(ushort ledMask,ushort blinkMask) { // FORCE ONE KEYS / LEDS Mapping // bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 // Up Down Enter Canc K4 K3 K2 K1 OP _aitp.AITPSetFOLedStatus(ledMask, blinkMask); } public void Dispose() { _aitp.AITPRelease(); } } |
FEATURES |
|
Digital IO | System has several digital input and output that could be simply red or written by code |
APPLICAZIONI FUNZIONE |
public class DigitalIOSample : IDisposable { //gets odometer data DigitalIO.Wrapper41.DigitalIO _digitalIO = new DigitalIO.Wrapper41.DigitalIO(); public DigitalIOSample() { //check if Gps is on bool gpsOn = _digitalIO.DGRead(DigitalIO.Wrapper41.DGIndex.OPOWGPS); if (!gpsOn) { //turns on GPS _digitalIO.DGWrite(DigitalIO.Wrapper41.DGIndex.OPOWGPS, true); } } public void Dispose() { } } |
FEATURES |
|
Get Odometer Data | Odometer data like speed, distance, pulses, etc., can be asked or can be set an automatic trigger that sends them. |
APPLICAZIONI FUNZIONE |
public class OdometerDataSample : IDisposable { //gets odometer data Aitp.Wrapper41.AitpCore _aitp; public OdometerDataSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); _aitp.EvAITPOdometerTrigger += new Aitp.Wrapper41.AitpCore.delAITPActivateOdometerTrigger(_aitp_EvAITPOdometerTrigger); _aitp.AITPInitOdometer(); } void _aitp_EvAITPOdometerTrigger(Aitp.Wrapper41.AitpObjects.OdometerData od) { //od contains all odometer data like speed, pulses distance... } public void AskOdometerData(bool resetOdom) { _aitp.AITPAskOdometerData(resetOdom); } public void SetOdometerTrigger(ushort odomTime_ms,bool resetOdom) { _aitp.AITPSetOdometerTriggerParams(odomTime_ms, resetOdom); } public void Dispose() { _aitp.AITPRelease(); } } |
Over-speed Warning | The device can be programmed in order to raise an event if the vehicles goes over a selected speed. |
APPLICAZIONI FUNZIONE |
public class OdometerDataSample : IDisposable { //gets odometer data Aitp.Wrapper41.AitpCore _aitp; public OdometerDataSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); _aitp.EvAITPOdometerTrigger += new Aitp.Wrapper41.AitpCore.delAITPActivateOdometerTrigger(_aitp_EvAITPOdometerTrigger); _aitp.AITPInitOdometer(); } void _aitp_EvAITPOdometerTrigger(Aitp.Wrapper41.AitpObjects.OdometerData od) { //od contains all odometer data like speed, pulses distance... } public void AskOdometerData(bool resetOdom) { _aitp.AITPAskOdometerData(resetOdom); } public void SetOdometerTrigger(ushort odomTime_ms,bool resetOdom) { _aitp.AITPSetOdometerTriggerParams(odomTime_ms, resetOdom); } public void Dispose() { _aitp.AITPRelease(); } } |
Odometer Auto Calibration | Combining odometer and GPS data it is possible to auto calibrate the vehicle odometric constant. Driver should move for about one or two Km over a speed threshold (typically 50 km/h) without turns. After that GPS distance and odometer pulses are used to evaluate the correct constant. |
APPLICAZIONI FUNZIONE |
Odometer Connection Status | GPS and odometer data can be used to check if odometer is connecting (typically GPS moves over a certain speed and there are no pulses from the odometer), also can be checked if there are problems on the odometer like presence of pulses when the car is not moving. |
APPLICAZIONI FUNZIONE |
FEATURES |
|
Stealth Mode | Stealth mode is a special operating mode in which the system is working but the display is off. This feature can be useful in several situations. |
APPLICAZIONI FUNZIONE |
public class StealthSample : IDisposable { //Stealth mode Aitp.Wrapper41.AitpCore _aitp; public StealthSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); _aitp.EvAITPStealthTrigger += new Aitp.Wrapper41.AitpCore.delAITPActivateStealthTrigger(_aitp_EvAITPStealthTrigger); _aitp.AITPInitStealthMode(); _aitp.AITPAskStealthMode(); } void _aitp_EvAITPStealthTrigger(byte StealthStatus, uint lparam) { StealthStatus.ToString(); } public void SetStealth() { _aitp.AITPSetStealthModeNow(0x01); } public void SetStealthOnStertup() { _aitp.AITPSetStealthModeOnStartup(true, true, true, 0x01); } public void Dispose() { _aitp.AITPRelease(); } } |
Driver Control | System has also the wake up on ring feature, so on the central it is possible to remotely turn on the device (also in stealth mode so anyone could see that it is starting) in order to check vehicle position and other data. |
APPLICAZIONI FUNZIONE |
Ghost Mode | It is possible to set the device that after have been pressed the shut down button the system instead of turning of goes on stealth mode. This feature is useful if you want that the device will remain always on (it turns off only the display reducing power consumption) or in an alarm situation: if the robber forces the driver to shut down the device, it , instead of shutting down, can go in ghost mode continuing to send data to the central. |
APPLICAZIONI FUNZIONE |
FEATURES |
|
Watchdog init and restart | Watchdog feature makes the system to autorestart if the application blocks. |
APPLICAZIONI FUNZIONE |
public class WatchdogSample : IDisposable { //Watchdog example Aitp.Wrapper41.AitpCore _aitp; System.Threading.Timer _tmr; public WatchdogSample() { _aitp = new Aitp.Wrapper41.AitpCore(); _aitp.AITPInit("COM3:", 38400); _aitp.AITPRestartWatchdog((byte)60); _tmr = new System.Threading.Timer(new System.Threading.TimerCallback(watchdogRestart), null, 14000, 14000); } void watchdogRestart(object obj) { _aitp.AITPRestartWatchdog((byte)60); } public void Dispose() { _tmr.Change(System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite); _tmr.Dispose(); //stops watchdog _aitp.AITPRestartWatchdog(0x00); _aitp.AITPRelease(); } } |
FEATURES |
|
Backup | Performs a back up of the complete system, including Registry settings, new installed drivers and user applications. Creates an identical clone of the entire system in a single SD. |
APPLICAZIONI FUNZIONE |
Restore | By creating a Backup SD, it is possible to restore, clone and update devices. Useful for production: once the system implementation is ready, create a Backup SD and Restore each device. Useful for upgrading: send the content of the SD over wireless connection to completely Restore a remote device. |
APPLICAZIONI FUNZIONE |
FEATURES |
|
Logging | It permits to write textual logs or binary logs. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Logging; class Example { LogManager _logger; public Example() { _logger = new LogManager("MyAppLogs", LogFormat.Text); _logger.ZipTerminatedFiles = true; _logger.RootPath = @"\logs\"; _logger.MaxSizeUncompressedPart = 102400; // 100KB _logger.MaxSizeAll = 51200; // 50 KB _logger.LCID = System.Globalization.CultureInfo.CurrentCulture.LCID; _logger.ShutdownDetectorEnabled = true; } public void LogHello() { _logger.WriteTextLine(LogType.INF, "Hello World!"); } public void LogDayOfWeek() { _logger.WriteTextLine(LogType.INF, "Today is {0:dddd}", DateTime.Now); } } |
Live trace | It's possible to enable the live trace for each log manager to obtain real time log string. |
APPLICAZIONI FUNZIONE |
using System; using Digitax.Mobile.Logging; class Example { LogManager _logger; public Example() { LiveTextTrace.TraceOnSerial = true; LiveTextTrace.TraceSerialPortName = "COM8:"; LiveTextTrace.TraceSerialPortBaud = 19200; _logger = new LogManager("MyAppLogs", LogFormat.Text); _logger.LiveTraceEnabled = true; } public void LogHello() { _logger.WriteTextLine(LogType.INF, "Hello World!"); } public void LogDayOfWeek() { _logger.WriteTextLine(LogType.INF, "Today is {0:dddd}", DateTime.Now); } } |
FEATURES |
|
OTA Client | Professional OTA (Over The Air) Client allows the update of the whole Operating System user's applications and settings, system registry and all the CPUs Firmware. |
APPLICAZIONI FUNZIONE |
OTA Server | Professional OTA (Over The Air) Server provides vehicles enrolling, group management, selective update, remote debugging and logging. Web based user interface included. |
APPLICAZIONI FUNZIONE |
FEATURES |
|
Splash Screen Customization | It permits to create an automatic microSD to logo configuration that permits to change the Splash Screen with a customized image or logo at the next reboot. |
APPLICAZIONI FUNZIONE |
The ForceOne MDT is also optimized to use the Sygic Navigation Software, an advanced and powerful SDK/API is provided to use all functionality of this Navigation Solution.
Sygic provides a solution for fleets, logistics and transportation companies:
|
|
Display | |
Viewing area | 4.3" diagonal |
Resolution | WQVGA 480x272 |
Display | Colour TFT LED Back-light |
Brightness | Display clearly viewable with 400 cd/m2 |
Ambient Light Sensor | 32 Steps Automatic Regulation |
Touchscreen |
|
Central Processor Units | |
Primary CPU | Samsung ARM 400MHz |
Secondary CPU | M16 for Automotive Intensive Tasks |
Memory | |
Ram Memory | 128MB RAM Memory |
Internal Flash Memory | 128MB up to 256MB capacity |
External Memory | microSDHC (High Capacity compatible) socket |
Communication | |
Modem |
|
Positioning | |
Model | U-Blox 5 GPS Receiver |
Channel | 50 channels |
Supported Positioning System | Hybrid GPS, GALILEO and SBAS (WAAS, EGNOS, MSAS, GAGAN) engine |
Antenna Monitor | Disconnection and Short Circuit Detection / Protection |
Protocols | Supports international NMEA standard format and proprietary UBX Binary protocol |
Reset | Warm reset and cold reset (dedicated electronic circuit) available through API calls |
A-GPS | Assisted GPS available |
Dead Reckoning System | GPS + Gyroscope + Odometer with EKF (Enhanced Kalmann Filter) (option) |
Antenna | GPS / GPRS Rugged Combo antenna (option) |
Acquisition |
|
Accuracy |
|
Correlators | Over 1 million effective correlators |
Time to First Fix | Under 1 second Time-To-First-Fix for Hot and Aided Starts |
Sensitivity | SuperSense® Indoor GPS: -160 dBm tracking sensitivity |
Update Rate | 4 Hz position update rate |
Security | High immunity to jamming |
Wireless Connections | |
Bluetooth | National Semiconductor LMX9838, Complete Bluetooth 2.0 Stack including (option) |
Hardware Keys | |
General Purpouse Keys | 9 Lighted and Software programmable Hardware Buttons |
Power on key | 1 Power On/Off button |
Inputs and Outputs | |
USB Host Ports | 2 USB Host, with USB Support for Mouse and Keyboard |
USB Device Ports | 1 USB Device |
Serial Ports |
|
I/O ports connection |
|
Alarm and Security | |
Stealth Mode | Stealth Mode Controller (system ON display, audio and lightings off) with Panic Button input |
Stealth Display Feature | Fully Programmable Stealth display mode, Screen saver mode and sleeping mode by:
|
Multimedia | |
Multimedia |
|
Boot | |
Dual Boot | available from Flash Disk and microSDHC Card |
Boot Time | < 10 sec |
Splash Screen | Customizable Boot Up Splash Screen with End-User Logo |
Software Reset, Restore and Update | |
Soft/Hard Reset |
|
Safe Windows shutdown procedure |
|
OS Image Loader | Over The Air (OTA) OS image loader or microSDHC Card Image Loader |
System Update Fleet Management |
|
Operating System | |
Windows CE | Windows CE .NET 5.0 with ATL, MFC, .NET Compact Framework 3.5 and Digitax Framework 4.1 |
Softwares and Tools | |
Digitax Framework 4.1 |
Digitax Libraries:
|
Development Tools |
|
Text-To-Speech | Support 3rd party Text-To-Speech |
Software Navigation | Support 3rd party map application and navigation software with SDK |
Diagnostic and Maintenance | |
System diagnostic tools |
On Field Test (OFT) OnBoard Diagnostic Utilities with Customizable CheckList to make tests of:
|
Taximeter | Embedded Hardware Taximeter (Option) Full Firmware and TARIF OTA Programmable |
Power Supply | 8 - 32 V with Surge Protector |
Battery | External UPS Battery Package, Standard Battery Pack 1 hour (option) |
Mounting | |
Docking Station |
|
Sealing | All the External Connectors, Accessible slots (such as SIM Card, microSDHC, USB, etc.) and Screws are Sealed |
Certifications | |
Operating Temperature | -20°C to 70°C |
Humidity | Humidity up to 95% non-condensing. |
Vibration | Vibration Sine wave, 10 ~ 500 ~ 10Hz, 1.5G, 0.37oct/min 3 axis, 1hour/axis. |
Dust Ingress Protection | All connectors covers sealed, no open holes |
Dimension | 94 mm x 186 mm x 26 mm (H x W x D) |
Weight | 260 g |
© Digitax Automotive Electronics - Italtax S.r.l. unipersonale all rights reserved - P.IVA 02085850424