Changes in / [81a05ca:be3416d]


Ignore:
Files:
6 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • tests/coroutine/devicedriver.cfa

    r81a05ca rbe3416d  
    1010// Created On       : Sat Mar 16 15:30:34 2019
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Mar 19 15:59:06 2019
    13 // Update Count     : 87
     12// Last Modified On : Mon Mar 18 08:29:20 2019
     13// Update Count     : 79
    1414//
    1515
     
    2828} // next
    2929
    30 void checkCRC( Driver & d, unsigned int sum ) with( d ) {
    31         suspend();
    32         unsigned short int crc = byte << 8;                                     // sign extension over written
    33         suspend();
    34         // prevent sign extension for signed char
    35         status = (crc | (unsigned char)byte) == sum ? MSG : ECRC;
    36 } // checkCRC
    37 
    3830void main( Driver & d ) with( d ) {
    3931        enum { STX = '\002', ESC = '\033', ETX = '\003', MaxMsg = 64 };
     32        unsigned short int crc;                                                         // error checking
    4033  msg: for () {                                                                                 // parse message
    4134                status = CONT;
     
    5952                } // for
    6053                msg[lnth] = '\0';                                                               // terminate string
    61                 checkCRC( d, sum );                                                             // refactor CRC check
     54                suspend();
     55                crc = (unsigned char)byte << 8; // prevent sign extension for signed char
     56                suspend();
     57                status = (crc | (unsigned char)byte) == sum ? MSG : ECRC;
    6258                suspend();
    6359        } // for
Note: See TracChangeset for help on using the changeset viewer.