Subversion Repositories HomeAutomation

Rev

Rev 79 | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

Vanligt paket:

__________I D E N T____       _____D A T A_____
<FUNCT><FUNCC><NID><SID>      <data7>...<data0>

<FUNCT>, 4 bitar = Function Type, funktionstyp.
<FUNCC>, 10 bitar = Function Code, funktionskod.
<NID>, 6 bitar = Network ID, nätverksid.
<SID>, 9 bitar = Sender ID, sändarid.


Bootloader.

Paketstruktur för Kontrollpaket:

__________I D E N T______     _______________D A T A________
<FUNCT><FUNCC><NID><SID>      <RESVD><RID_HIGH><RID_LOW>ADDRU><ADDRH><ADDRL>


<FUNCT> = 0000, funktionskod för bootloadern, högprioriterat.
<FUNCC> = kommando. 
 - 0000000001 för att initiera en programmering.
 - 0000000010 for att ändra adress.
 - 0000000101 för att avsluta en programmering.

<NID> = nätverksid.
<SID> = hostens id.

<RID_LOW>[4] = mottagarens id (låga 8 bitar), den som ska programmeras.
<RID_HIGH>[5] = mottagarens id (höga 8 bitar), den som ska programmeras.

<ADDRU>[2], 8 bitar = program adress bit 23-16
<ADDRH>[1], 8 bitar = program adress bit 15-08
<ADDRL>[0], 8 bitar = program adress bit 07-00


Paketstruktur för programpaketet:

__________I D E N T_____      _____D A T A_____
<FUNCT><FUNCC><NID><SID>      <data7>...<data0>


<FUNCT> = 0000, funktionskod för bootloadern, högprioriterat.
<FUNCC> = kommando. 
 - 00000xxx11 för att indikera att detta är programdata som ska skrivas.

 Där xxx är 0-7 indikerar vilka av de 8*8 bytes det är.


Paketstruktur för ackpaketen:

__________I D E N T_____      _______D A T A_______
<FUNCT><FUNCC><NID><SID>      <RESVD><ERR><RESVD>

<FUNCT> = 0000, funktionskod för bootloadern, högprioriterat.
<FUNCC> = kommando. 
 - 0000000100 för att indikera att detta är en ACK.

<ERR>[4] 8 bitar feltyp
0x00 = inget fel
0x01 = fel