Difference between revisions of "Firmware 9.9 Specs"

From Idrive
Jump to navigation Jump to search
Line 144: Line 144:
 
New thread/class should be use to manage the buffers.
 
New thread/class should be use to manage the buffers.
  
  ==Test note==
+
  * Test note
 
  100kHz, default bus freq permits only ~8 values/sec.
 
  100kHz, default bus freq permits only ~8 values/sec.
 
  Require to set I2C bus at 400kHz - will increase number of read's/sec up to 25.
 
  Require to set I2C bus at 400kHz - will increase number of read's/sec up to 25.

Revision as of 23:21, 7 November 2012

Summary

Changes, Updates and New Features

Important! Need to create a single modular Firmware that can work with all old (v5) devices, current boards (v7, v8) and future devices (Idrive X2).

Boot loader and Kernel

Starting with v7 we will use a new boot loader version. The new boot loader can be installed at old v5 boards in the RMA process.

The new boot loader offers new features like: loading kernel and file system from SD card, etc.

Also starting with v7 we have a new Kernel 2.6.24 that is same Kernel version with some modules and configuration for GPRS.

Code Improvements

Single Config File

Needs to be an XML file that contain all info from firmware version to IP, SSID and more.

XML config file

 <Idrive>
     <Device>
        <SN>1111222233334444</SN>
        <MainBoardVersion>7.1</MainBoardVersion>
        <BootloaderVersion>2</BootloaderVersion>
        <KernelVersion>2.6.24</KernelVersion>
        <FirmwareVersion>9.9</FirmwareVersion>
        <SleepMode>0</SleepMode>
     </Device>
     <Network>
        <SSID>bwifi</SSID>
        <SSID1>bwifi1<SSID1>
        <SSID2>bwifi2<SSID2>
        <IPAaddress>192.168.244.244</IPAddress>
        <Netmask>255.255.0.0</Netmask>
        <Port>4660</Port>
        <ServerIPAddress>192.168.0.10</ServerIPAddress>
        <DebugIPAddress>192.168.244.244</DebugIPAddress>
        <DebugNetmask>255.255.0.0</DebugNetmask>
        <DebugPort>9090</DebugPort>
        <DebugServerIPAddress>192.168.0.10</DebugServerIPAddress>
     </Network>
     <Event>
         <ShockLength>15</ShockLength>
         <DoorLength>15</DoorLength>
         <PanicLength>15</PanicLength>
         <WPanicLength>15</WPanicLength>
         <AlarmLength>15</AlarmLength>
         <ShutdownLength>15</ShutdownLength>
         <StartLength>15</StartLength>
         <Gforce>
             <CTRL_REG1>
                   <a>0x20</a><d>0x85</d><c>0x00</c>
             </CTRL_REG1>
             <CTRL_REG2>
                   <a>0x20</a><d>0x85</d><c>0x00</c> 
             </CTRL_REG2>
             <CTRL_REG3>
                   <a>0x20</a><d>0x85</d><c>0x00</c> 
             </CTRL_REG3>
             <FF_WU_THS_L>
                   <a>0x20</a><d>0x85</d><c>0x00</c> 
             </FF_WU_THS_L>
             <FF_WU_THS_H>
                   <a>0x20</a><d>0x85</d><c>0x00</c> 
             </FF_WU_THS_H>
             <FF_WU_DURATION>
                   <a>0x20</a><d>0x85</d><c>0x00</c> 
             </FF_WU_DURATION>
             <HP_FILTER_RESET>
                   <a>0x20</a><d>0x85</d><c>0x00</c> 
             </HP_FILTER_RESET>
             <FF_WU_CFG>
                   <a>0x20</a><d>0x85</d><c>0x00</c> 
             </FF_WU_CFG>
             <FF_WU_ACK>
                   <a>0x20</a><d>0x85</d><c>0x00</c> 
             </FF_WU_ACK>
         </Gforce>
         <SelfTriggered>
             <Active>1</Active>
             <Periodic>1</Periodic>
             <Random>0</Random>
             <MinInterval>0</MinInterval>
             <MaxInterval>0</MaxInterval>
         </SelfTriggered>
     </Event>
 </Idrive>

7/8 stable frames

This firmware version needs to have some 7/8 frame stability like Firmware 9.6.

Set lower values for SDRAM

According to some tests made by Aurel... Require register set. This will be set by PORTC driver using ioremap.

Sleep Mode

On 9.6 firmware we have 3 modes: Test, Event, Transfer.

The Sleep Mode will be optional by checking a variable in the Config file.

The device will enter the Sleep Mode after Transfer Mode.

Sleep Mode Initialization

1. Stop the IR Led power (shut the IR leds off)

2. Stop the buffering (video, audio, GPS, etc)

3. Stop both cameras

4. Stop the GPS logger

Sleep Mode Functionality

1. Trigger Events - the device will wake up and start recording from that specific moment = Wake Up Event (24 seconds)

2. Timer - the device will remain in the Sleep Mode 72 hours (this value can be set from Config file), after Sleep Mode and if no IGN ON the device will shut down.

3. If IGN ON the device will enter in Event Mode (without restart)

4. Optional! In Sleep Mode the device can go in Transfer Mode ever hour or so (adjustable from Config file)

Sleep Mode Tests

1. Need to establish the exact current in Sleep Mode.

2. Need to see how fast the Event Mode can be start

3. Need to see how many seconds from the Wake Up Trigger will need to start recording.

New Features

Random Events

G-Force buffering

New thread/class should be use to manage the buffers.

* Test note
100kHz, default bus freq permits only ~8 values/sec.
Require to set I2C bus at 400kHz - will increase number of read's/sec up to 25.

GPRS

GPRS - Real Time GPS coordonates and Events data

Will be used http standard requests. Server side Apache/PHP/MySQL. GPS string, ignition and event will be send as parammeters on URL under http request.

GPRS - Logs

GPRS - GSM triggered events (from Idrive Global Center)

Will be used http standard requests. Server side Apache/PHP/MySQL. Event will be triggerd on "SEND PERIOD" since firmware initiate requests. HTTP respond should be parse to get the event request.

Sleep Mode

Serial Port Features

Serial - Serial triggered event from external devices

Serial - Real Time Event Data

Serial - Real Time GPS coordonates and Events data

Serial - Emergencies Vehicles Logs

Serial - Driver ID

Events - RT Backup to External USB Device

External USB Devices Test

Test files RW mode using USB HDD

OmniVision 2Mpx image sensor resolution reduction

OmniVision 3Mpx image sensor configurable settings