/**
* This file is part of license combination gpl version 3 license and eCos.
* The corresponding license terms are below.
*
* gpl version 3 Licence:
*
* The file were developed during the student thesis "Datensammlung in Wireless
* Sensor Networks fuer Autonomic Home NetworkingÒ of Thomas Kothmayr and is
* included in the dissertation "Secure Data Transmission in Wireless
* Sensor Networks" by Corinna Schmitt during employment at the Technische
* UniversitŠt MŸnchen, Department Computer Science, Chair Network
* Architectures and Services (Germany).
* Copyright (C) 2013
* Authors: Thomas Kothmayr and Corinna Schmitt (schmitt[at]net.in.tum.de)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3 of the License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
*
* eCos Licence: (http://ecos.sourceware.org)
*
* This file is part of eCos, the Embedded Configurable Operating System.
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
* 2007, 2008, 2009 Free Software Foundation, Inc.
*
* eCos is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 3 any later version.
*
* eCos is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with eCos; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* As a special exception, if other files instantiate templates or use
* macros or inline functions from this file, or you compile this file and * link it with other works to produce a work based on this file, this file
* does not by itself cause the resulting work to be covered by the GNU
* General Public License. However the source code for this file must still
* be made available in accordance with section (3) of the GNU General
* Public License v2.
*
* This exception does not invalidate any other reasons why a work based on
* this file might be covered by the GNU General Public License.
*
*/
Interface: tos.lib.serial.ReceiveBytePacket
Interface: tos.lib.serial.ReceiveBytePacket
interface ReceiveBytePacket
This is the data interface that a serial protocol provides and
a serial dispatcher uses. The dispatcher expects the following pattern
of calls: ((startPacket)+ (byteReceived)* (endPacket)+)*
It should ignore any signals that do not follow this pattern.
The interface is used to separate the state machine of the wire protocol
from the complexities of dispatch.
data - A byte of the encapsulated packet that has been received.
endPacket
event void endPacket(error_t result)
Parameters:
result - An error_t code indicating whether the framer has
passed all bytes of an encapsulated packet it receives from
serial to the dispatcher (SUCCESS) or not (FAIL).
startPacket
event error_t startPacket()
Returns:
Returns an error_t code indicating whether the
dispatcher would like to receive a packet (SUCCESS), or not
perhaps because it isn't ready (EBUSY).