1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-11-30 11:24:12 +01:00
Arduino/build/shared/lib/avrlib/rsl/erp.h
2005-08-25 21:06:28 +00:00

67 lines
1.5 KiB
C
Executable File

/*! \file erp.h \brief Emerald Radio Protocol System. */
//*****************************************************************************
//
// File Name : 'erp.h'
// Title : Emerald Radio Protocol System
// Author : Pascal Stang - Copyright (C) 2003
// Created : 2003.09.10
// Revised : 2003.09.10
// Version : 0.1
// Target MCU : Atmel AVR series
// Editor Tabs : 4
//
// This code is distributed under the GNU Public License
// which can be found at http://www.gnu.org/licenses/gpl.txt
//
//*****************************************************************************
#ifndef ERP_H
#define ERP_H
#include "edp.h"
// defines and typedefs
// Packet Types (tentative)
#define ERP_ECHO 0x01
#define ERP_ECHOREPLY 0x02
#define ERP_TEST 0x03
#define ERP_EDPCOMMAND 0x10
#define ERP_EDPREPLY 0x11
#define ERP_EDPREPLYNODEV 0x12
#define CALLSIGN_FIELD_LEN 6
// structures and typedefs
typedef struct
{
u08 CallSign[6];
u08 ToAddress;
u08 FromAddress;
u08 SequenceNum;
u08 Type;
u08 Data[];
} ErpPacket;
#define ERP_HEADER_LEN 10
typedef struct
{
u08 EdpDestAddr;
EdpCommand EdpCommand;
} ErpEdpCommand;
typedef struct
{
u08 EdpResponse;
EdpReply EdpReply;
} ErpEdpReply;
// functions
// ERP display
void erpDisplayHeader(ErpPacket* erpPacket);
void erpDisplayPacket(ErpPacket* erpPacket, u08 pktLength);
void erpDisplayEdpCommand(u08 length, ErpEdpCommand* erpEdpCommand);
void erpDisplayEdpReply(u08 length, ErpEdpReply* erpEdpReply);
#endif