ascii;00 → epochrefset;00 → glbas70;04c1;01 fileautoboot\n ascii\n debug\n reset\n ← reset\n...

21

Upload: others

Post on 30-Aug-2019

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,
Page 2: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

← ASCII\n

→ ASCII;00\n

→ \n

← EPOCHREFSET;4a3caa45\n

⇅ toggle DTR line → EPOCHREFSET;00\n

→ 4a3caa45;0151bcf5\n

→ \n

← PASSINGGET;00000000\n // get passings starting at 0

→ PASSINGGET;00\n // command echo, no error

→ 00000000;03\n // 3 passings available

→ GLBAS60;0718;01521527;0c;08;9f;1a;0;1;2;00;0\n

→ GLBAS70;04c1;01521536;14;09;9f;1a;0;1;2;00;0\n

→ EMPAL70;047c;0152153b;0e;08;9f;1a;0;1;2;00;0\n

→ \n

Page 4: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

AUTOBOOT\n

ASCII\n

DEBUG\n

RESET\n

← RESET\n

→ rrActive\n //immediately at power up, LED ON

→ AUTOBOOT\n //after 3 seconds, LED OFF

← ASCII\n //not necessary for FW 2.5 and newer

→ ASCII;00\n

→ \n

Page 5: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

EPOCHREFSET

ref_time_stamp @ ref_computer_time

ref_time_stamp

ref_computer_time

EPOCHREFGET

pass_time_stamp

Computer_Time(pass_time_stamp) =

ref_computer_time + ((pass_time_stamp – ref_time_stamp) / 256.0)

EPOCHREFADJ1D

Page 6: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

\n

\n \n .

\n\n \n\n

0x

00: ,

10-1f:

ff:

ASCII

ASCII\n

ASCII;00\n

\n

Page 7: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

SITESURVEY\n SITESURVEY;00\n

00;[Noise:2]\n

01;[Noise:2]\n

02;[Noise:2]\n

03;[Noise:2]\n

04;[Noise:2]\n

05;[Noise:2]\n

06;[Noise:2]\n

07;[Noise:2]\n

\n

[Noise]

← SITESURVEY\n

→ SITESURVEY;00\n

→ 00;02\n

→ 01;00\n

→ 02;02\n

→ 03;03\n

→ 04;07\n

→ 05;09\n

→ 06;0a\n

→ 07;04\n

→ \n

BEACONGET

Page 8: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

[parameter-id] [value]

CONFSET;[parameter-id:2];[value:2]\n

CONFSET;00\n

[parameter-id:2];[value:2]\n

\n

← CONFSET;08;32\n

→ CONFSET;00\n

→ 08;32\n

→ \n

10

11

CONFGET;[parameter-id:2]\n

CONFGET;00\n

[parameter-id:2];[value:2]\n

\n

← CONFGET;08\n

→ CONFGET;00\n

→ 08;32\n

→ \n

10

Page 9: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

[parameter-id] [value]

01 00=disabled (D)

01=enabled

02 00=disabled

01=enabled (D)

03 00=impulse-in

01=beep-out (D)

04 00=disabled (D)

01=enabled

05

usb-kiosk

usb-timing

usb-store&copy:

05=usb-kiosk

06=usb-timing (D)

07=usb-store&copy

06 00 – 07

=> (1 - 8)

07 00 – 07

=> (1 - 8)

08

64

00 - 64

09 02 - FF

(default 0F)

Oa 00:disabled

01:enabled (D)

0b 00:disabled

01:enabled (D)

0c

00:disabled

01:automatic (D)

02:force

0d -internal use-

06-08

Page 10: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

INFOGET;[parameter-id:2]\n INFOGET;00\n

[parameter-id:2];[value:{2,4}]\n

\n

[parameter-id] [value]

01

(0000 – ffff)

=> (0 – 65535)

1387 = 4999

= A-4999

02

(00 – ff)

=> (0 – 255)/10

18 = 24

= v2.4

03

(00 – ff)

=> (0 – 255)/10

18 = 24

= v2.4

04

0a=active-ext

1e=management-box

28=usb-timing-box

05

(00 – ff)

=> (0 – 255)/10 [V]

28 = 40

= 4.0V

06

07

0 = Fault

1 = Charging

2 = Reduced Charging

3 = Discharging

08

(00 – ff)

=> (0-100)%

4e = 78

= 78%

09

(00 – ff)

=> (0-100)°C

18 = 24

= 24°C

Oa

(00 – ff)

=> (0 – 255)/10 [V]

31 = 49

= 4.9V

0b

0 = loop ok

1 = loop fault

2 = loop limit

4 = loop OVERVOLTAGE error

0c -internal use-

Page 11: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

EPOCHREFSET

EPOCHREFGET

EPOCHREFGET\n

EPOCHREFGET;00\n

[ComputerTime:8];[TimeStamp:8]\n

\n

[ComputerTime]

EPOCHREFSET

[TimeStamp]

EPOCHREFSET.

← EPOCHREFGET\n

→ EPOCHREFGET;00\n

→ 4a3caa45;0151bcf5\n // ref_computer_time;ref_time_stamp

→ \n

Page 12: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

EPOCHREFSET;<epoch:8>\n EPOCHREFSET;00\n

[ComputerTime:8];[TimeStamp:8]\n

\n

EPOCHREFSET;10\n

\n

[ComputerTime]

[TimeStamp]

← EPOCHREFSET;4a3caa45\n // June 20 2009 11:22:14 UTC+2 == 0x4a3caa46

⇅ toggle DTR line // Time set on rising edge of DTR

→ EPOCHREFSET;00\n

→ 4a3caa45;0151bcf5\n // ref_computer_time;ref_time_stamp

→ \n

cmdString = “EPOCHREFSET;” + toHex(epoch_Time_Now() + 1) + “\n”

// cmdString == ‘EPOCHREFSET;4a3caa46\n’

write_Serial ( cmdString )

wait_until_next_second()

set_Serial_DTR ( HIGH ) // Time set on rising edge of DTR

sleep_200ms ()

set_Serial_DTR ( LOW )

sleep_200ms ()

rcv = read_next_line_Serial() // rcv == ‘EPOCHREFSET;00\n’

rcv = read_next_line_Serial() // rcv == ‘4a3caa46;0151bcf5\n’

ref_computer_time = split_into_array( rcv, “;”)[0]

// ref_computer_time == 0x4a3caa46

ref_time_stamp = split_into_array( rcv, “;”)[1]

// ref_time_stamp == 0x0151bcf5

ref_computer_time ref_time_stamp

CONFSET;0b;00\n

Page 13: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

TIMESTAMPGET\n TIMESTAMPGET;00\n

[TimeStamp:8]\n

\n

← TIMESTAMPGET\n

→ TIMESTAMPGET;00\n

→ 0151bcf5\n

→ \n

EPOCHREFADJ1D

EPOCHREFADJ1D TIMESTAMPGET

EPOCHREFADJ1D\n

EPOCHREFADJ1D;00\n

[ComputerTime:8];[TimeStamp:8]\n

\n

[ComputerTime]

[TimeStamp]

← EPOCHREFADJ1D\n

→ EPOCHREFADJ1D;00\n

→ 4a3caa45;0151bcf5\n // ref_computer_time;ref_time_stamp

→ \n

Page 14: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

PASSINGINFOGET\n

PASSINGINFOGET;00\n

[Count:4];[StartID:8];[StartTimeStamp:8];

[LastID:8];[LastTimeStamp:8]\n

\n

[Count]

[StartID]

[StartTimeStamp]

[LastID]

[LastTimeStamp]

← PASSINGINFOGET\n

→ PASSINGINFOGET;00\n

→ 0002;00000000;002b6efc;00000001;00823aa8\n // 2 passings

→ \n

Page 15: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

PASSINGGET

[StartIndex]

[Count]

<passing(i)> i

[MinStartIndex] [StartIndex]

10 [StartIndex] <passing(i)>

PASSINGGET;[StartIndex:8]\n

PASSINGGET;00\n

[StartIndex:8];[Count:2]\n

<passing([StartIndex])>\n

<passing([StartIndex]+1)>\n

...

<passing([StartIndex]+[Count]-1)>\n

<passing([StartIndex]+[Count])>\n

\n

PASSINGGET;10\n

[StartIndex:8];[MinStartIndex:8]\n

\n

PASSINGGET;[MinStartIndex]

← PASSINGGET;0\n

→ PASSINGGET;00\n

→ 00000000;02\n

→ ZBAAA03;04c6;002b6efc;11;19;1d;15;0;1;1;00;0\n

→ ZBAAA03;04c7;00823aa8;1e;1a;1d;15;0;1;1;00;0\n

→ \n

Page 16: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

[TranspCode:string];[WakeupCounter:4];[TimeStamp:8];[Hits:2];[RSSI:2];

[Battery:2];[Temperature:2];[LoopOnly:1];[LoopId:1];[Channel:1];

[InternalActiveData:2];[InternalData:1]

[TranspCode]

[WakeupCounter]

[TimeStamp]

[Hits]

[RSSI]

[Battery]

[Temperature]

[LoopOnly]

[LoopID]

[Channel]

[InternalActiveData]

[InternalData] & 0x40 == 0x40

[InternalData]

ref_computer_time

ref_time_stamp

KARLS07;17ca;0151cbf5;26;13;9f;15;0;0;1;00;0

passing_time_epoch =

ref_computer_time + ((pass_time_stamp – ref_time_stamp) / 256.0)

// passing_time_epoch = 0x4a3caa46 + (0x0151cbf5 - 0x0151bcf5)/256.0

// => 1245489748

passing_time = epoch_to_datetime(passing_time_epoch) // passing_time => Jun 20 2009, 11:22:29

Page 17: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

← CONFSET;01;01\n

→ PREWARN;XYZAB23\n\n

→ PREWARN;FDSAS32\n\n

→ PREWARN;ABCDE88\n\n

BEACONGET\n BEACONGET;00\n

[BeaconCount:2]\n

<beacon(0)>\n

...

<beacon([BeaconCount]-1)>\n

<beacon([BeaconCount])>\n

\n

[BeaconCount]

<beacon(i)> i

← BEACONGET\n

→ BEACONGET;00\n

→ 01\n

→ 0457;1;00;11;32;1;1;1;2f;aa98;00000000;00;02;4f;12;00;00\n

→ \n

Page 18: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

[ActiveDeviceID:4];[LoopStatus:1];[Mode:2];[LoopData:2];[LoopPower:2];

[Channel:1];[LoopId:1];[PowerConn:1];[PowerStatus:2];[BeaconIndex:4];

[Time:8];[N/A:2];[ChNoiseAvg:2];[TransLQI:2];[TransRSSI:2];

[BeaconLQI:2];[BeaconRSSI:2]

[ActiveDeviceID]

[LoopStatus]

[Mode]

[LoopData]

[LoopPower]

[Channel]

[LoopID]

[PowerConn]

[PowerStatus]

[BeaconIndex]

[Time]

[N/A]

[ChNoiseAvg]

[TransLQI]

[TransRSSI]

[BeaconLQI]

[BeaconRSSI]

Page 19: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

← ASCII\n

→ ASCII;00\n

→ \n

EPOCHREFGET

← EPOCHREFGET\n

→ EPOCHREFGET;00\n

→ 00000000;00000000\n // ref_computer_time;ref_time_stamp

→ \n

← EPOCHREFSET;4a3caa45\n

⇅ toggle DTR line → EPOCHREFSET;00\n

→ 4a3caa45;0151bcf5\n // ref_computer_time;ref_time_stamp

→ \n

← TIMESTAMPGET\n

→ TIMESTAMPGET;00\n

→ 02A30001\n

→ \n

← EPOCHREFADJ1D\n

→ EPOCHREFADJ1D;00\n

→ 4b8e2a45;02A30001\n // ref_computer_time;ref_time_stamp

→ \n

Page 20: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

← INFOGET;01

→ INFOGET;00\n

→ 01;1387\n

→ \n

0x1387 = 4999

← CONFSET;05;06\n

→ CONFSET;00\n

→ 05;06\n

→ \n

← CONFGET;07\n

→ CONFGET;00\n

→ 07;00\n

→ \n

← BEACONGET\n

→ BEACONGET;00\n

→ 02\n

→ 0685;0;03;22;00;2;2;0;31;00b2;01539ffb;1b;02;00;00;ff;4f\n

→ 1387;1;00;02;0a;2;0;0;31;0221;00000000;1b;02;00;00;00;00\n

→ \n

INFOGET.

[StartId] PASSINGGET

← PASSINGGET;00000000\n <1>

→ PASSINGGET;00\n <2>

→ 00000000;00\n <3>

→ \n

[...some time later, after creating passings...]

← PASSINGGET;00000000\n <4>

→ PASSINGGET;00\n <5>

→ 00000000;03\n <6>

→ GLBAS60;0718;01521527;0c;08;9f;1a;0;1;2;00;0\n

→ GLBAS70;04c1;01521536;14;09;9f;1a;0;1;2;00;0\n

→ EMPAL70;047c;0152153b;0e;08;9f;1a;0;1;2;00;0\n

→ \n

[... small wait between requests ...]

← PASSINGGET;00000003\n <4>

0x00000000

Page 21: ASCII;00 → EPOCHREFSET;00 → GLBAS70;04c1;01 fileAUTOBOOT\n ASCII\n DEBUG\n RESET\n ← RESET\n → rrActive\n //immediately at power up, LED ON → AUTOBOOT\n //after 3 seconds,

⇒ [StartID] 0x00000000

0x03 0x00 [StartID] 0x00000003

← PASSINGGET;00000000\n

→ PASSINGGET;00\n

→ 00000000;40\n <1>

→ GLBAS60;0718;01521527;0c;08;9f;1a;0;1;2;00;0\n

→ GLBAS70;04c1;01521536;14;09;9f;1a;0;1;2;00;0\n

[...]

→ SNRMT06;1260;015215d8;0d;0c;9f;15;0;1;2;01;0\n

→ SNRMT07;2910;015215c9;30;0f;9f;15;0;1;2;01;0\n

→ \n

0x40 == 64

← PASSINGGET;00000040\n <2>

→ PASSINGGET;00\n

→ 00000040;05\n <3>

→ GLBAS98;04d3;015215c9;11;08;9f;1a;0;1;2;01;0\n

→ GLBAS58;074b;0152154d;11;0a;9f;1a;0;1;2;03;0\n

→ SNRMT29;2ad4;01521590;47;0f;9f;15;0;1;2;02;0\n

→ GLBAS78;04e0;01521594;0f;09;9f;1a;0;1;2;02;0\n

→ SNRMT39;111e;01521594;2e;0e;9f;15;0;1;2;04;0\n

→ \n

0x40 0x05 ⇒

← PASSINGGET;00000000\n

→ PASSINGGET;10\n <1>

→ 00000000;0000021d\n <2>

→ \n

0x00 [StartID]

0x21d = 541

0x21d = 541 0x21d + 0d1000 = 0x604 = 1540