Hardware Reference
In-Depth Information
bra parser_bingo
parser_compare_next
tblrd +
tblrd *+
bra
compar_loop
parser_bingo
; what is that byte?
movlw 0x20
;that is a „white space“
cpfseq TABLAT
bra parser_compare_newline
bra parser_header_complete_sp
parser_compare_newline
movlw 0x0 A
cpfseq TABLAT
bra parser_compare_semicolon
bra parser_header_complete_nl
parser_compare_semicolon
movlw ';'
cpfseq TABLAT
bra parser_compare_colon
bra parser_header_complete_semi
parser_compare_colon
movlw ':'
cpfseq TABLAT
bra parser_compare_anyother
bra parser_header_colon
parser_compare_anyother
; step to the next lookup table position
tblrd *+
movff TABLAT,COMMAND_HPOINTER
tblrd *+
movff TABLAT,COMMAND_LPOINTER
bra USB_parser_compare_bytes
; Error: halt bulk OUT endpoint
OUTMsgError
bsf
UEP1,EPSTALL ;stall bulk endpoint
return
10.7 Parameter
Ein Bestandteil der Nachrichten des Typs DEV_DEP_MSG_OUT sind die zu den
Fernsteuerbefehlen gehörenden Parameter. Es ist nicht die Aufgabe des Parsers,
Parameter auf ihre Gültigkeit zu prüfen, sondern diese Verantwortung obliegt den
vom Parser gestarteten Befehlsunterprogrammen. Thematisch passt die Beschrei-
bung der Parameter jedoch gut hierher. Im Beispielgerät kommen vier verschiedene
Parametertypen vor, deren jeweilige Gültigkeit vom Fernsteuerbefehl abhängig ist.
FürjedenTypgibteseinenProzess,dernachprüft,obdiefürdenParametergülti-
Search WWH ::




Custom Search