25.12.2013 Aufrufe

Gecko3 - CCC Event Weblog

Gecko3 - CCC Event Weblog

Gecko3 - CCC Event Weblog

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

E.1. Firmware<br />

EP0CS |= bmHSNAK; ∗/ // Acknowledge handshake phase o f d e v i c e<br />

r e q u e s t<br />

321 break ;<br />

}<br />

case FLASH WRITE:<br />

{<br />

s p i f l a s h w r i t e m o d e = TRUE; // s e t EEPROME w r i t e mode<br />

326 ∗EP0BUF = EEPROM READ; // l o o p b a c k from vendor command<br />

EP0BCH = 0 ;<br />

EP0BCL = 1 ; // Arm endpoint with # b y t e s to t r a n s f e r<br />

EP0CS |= bmHSNAK; // Acknowledge handshake phase o f d e v i c e r e q u e s t<br />

break ;<br />

331 }<br />

case FLASH READ:<br />

{<br />

s p i f l a s h r e a d m o d e = TRUE; // s e t EEPROME w r i t e mode<br />

∗EP0BUF = EEPROM READ; // l o o p b a c k from vendor command<br />

336 EP0BCH = 0 ;<br />

EP0BCL = 1 ; // Arm endpoint with # b y t e s to t r a n s f e r<br />

EP0CS |= bmHSNAK; // Acknowledge handshake phase o f d e v i c e r e q u e s t<br />

break ;<br />

}<br />

341 case DOWNLOADOK:<br />

{<br />

// SPI Flash d e f a u l t c o n f i g<br />

new cfg = 1 ;<br />

s p i f l a s h a d r e s s = 0 ;<br />

346 // EEPROM d e f a u l t c o n f i g<br />

eeprom adress = 0 ; // c l e a r a d r e s s v a l u e<br />

eeprom write mode = FALSE;<br />

∗EP0BUF = DOWNLOADOK; // l o o p b a c k from vendor command<br />

351 EP0BCH = 0 ;<br />

EP0BCL = 1 ; // Arm endpoint with # b y t e s to t r a n s f e r<br />

EP0CS |= bmHSNAK; // Acknowledge handshake phase o f d e v i c e r e q u e s t<br />

break ;<br />

}<br />

356 case FW VERSION:<br />

{<br />

EP0BUF [ 0 ] = f w v e r d i g i t 0 ; // l o o p b a c k from vendor command<br />

EP0BUF [ 1 ] = f w v e r d i g i t 1 ;<br />

EP0BUF [ 2 ] = f w v e r d i g i t 2 ;<br />

361 EP0BUF [ 3 ] = f w v e r d i g i t 3 ;<br />

EP0BCH = 0 ;<br />

EP0BCL = 4 ; // Arm endpoint with # b y t e s to t r a n s f e r<br />

EP0CS |= bmHSNAK; // Acknowledge handshake phase o f d e v i c e r e q u e s t<br />

break ;<br />

366 }<br />

case DONE REQ:<br />

{<br />

i f ( done ack == TRUE)<br />

{<br />

371 done ack = FALSE ;<br />

∗EP0BUF = DONE REQ;<br />

} else<br />

{<br />

∗EP0BUF = 0 ;<br />

376 }<br />

EP0BCH = 0 ;<br />

EP0BCL = 1 ;<br />

EP0CS |= bmHSNAK;<br />

break ;<br />

381 }<br />

default :<br />

return (TRUE) ;<br />

}<br />

Project Report 69

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!