示例#1
0
void serial_process(void)
{
    uint8_t serial_channel = serial_readFrame();
    packet_t *packet;

    if( serial_channel == 0 ){
        return;
    }

    if( serial_channel == 0xFF ||
            serial_channel == 0xFE ){
        display_data(serial_channel,
                serial_getMessage(), serial_getMessageLen());
        return;
    }

    if( serial_getMessageLen() == 16 ){
        uint8_t *msg = serial_getMessage();
        if( serial_channel == '0' ){
            packet = (packet_t *) msg;

            if( packet_check_magic(packet) ){
                cmd_new(packet->cmd, packet->data);
            }
        }else if(serial_channel != 0) {
            bus_sendFrame(serial_channel, msg, 16);
        }
    }
}
示例#2
0
void serial_process(void)
{
    uint8_t serial_channel = serial_readFrame();
    packet_t *packet;

    if( serial_getMessageLen() == 16 ){
        uint8_t *msg = serial_getMessage();
        if( serial_channel == '0' ){
            aes_decrypt(msg);
            packet = (packet_t *) msg;

            if( packet_check(packet) ){
                cmd_new(packet->cmd, packet->data);
            }
        }else if(serial_channel != 0) {
            bus_sendFrame(serial_channel, msg, 16);
        }
    }
    
}