mr_cs2ms2
Bibliothek
| Projekt | libs/mr_cs2ms2 |
| Library | libmr_cs2ms2.a |
| Includedatei | mr_cs2ms2.h |
Definitionen
Datentypen
typedef struct {
unsigned long Id;
unsigned char Dlc; /* = number of data bytes */
unsigned char Data[MR_CS2_NUM_CAN_BYTES];
BOOL IsCs2;
unsigned Hash; /* in network order */
unsigned Response;
unsigned Command;
unsigned Prio;
} MrCs2CanDataType;
Konstanten
Konstanten für Anzahl CAN Datenbytes
#define MR_CS2_NUM_CAN_BYTES 8
Konstanten füer Zugriff auf MrCs2CanDataType Struktur
#define MrCs2IsCs2(CanData) (CanData)->IsCs2
#define MrCs2GetCommand(CanData) (CanData)->Command
#define MrCs2GetSystemSubcmd(CanData) (CanData)->Data[4]
#define MrCs2SetCommand(CanData,Cmd) (CanData)->Command=Cmd
#define MrCs2SetSystemSubcmd(CanData,SubCmd) (CanData)->Data[4]=SubCmd
#define MrCs2GetId(CanData) (CanData)->Id
#define MrCs2SetId(CanData,id) (CanData)->Id=id
#define MrCs2GetDlc(CanData) (CanData)->Dlc
#define MrCs2SetDlc(CanData,dlc) (CanData)->Dlc=dlc
#define MrCs2GetIsCs2(CanData) (CanData)->IsCs2
#define MrCs2SetIsCs2(CanData,is_cs2) (CanData)->IsCs2=is_cs2
#define MrCs2GetHash(CanData) (CanData)->Hash
#define MrCs2SetHash(CanData,hash) (CanData)->Hash=hash
#define MrCs2GetResponse(CanData) (CanData)->Response
#define MrCs2SetResponse(CanData,response) (CanData)->Response=response
#define MrCs2GetPrio(CanData) (CanData)->Prio
#define MrCs2SetPrio(CanData,prio) (CanData)->Prio=prio
#define MrCs2GetData(CanData) (CanData)->Data
Konstanten für CS2 Ethernet
#define MR_CS2_UDP_LOCAL_PORT 15731
#define MR_CS2_UDP_REMOTE_PORT 15730
#define MR_CS2_UDP_LENGTH 13
Returnwerte für MrEthCs2Recv()
#define MR_ETH_CS2_RCV_ERROR -1
#define MR_ETH_CS2_RCV_CLOSED 0
#define MR_ETH_CS2_RCV_OK 1
Makros
#define MrEthCs2Close(socket) close(socket)
Funktionen
void MrEthCs2Encode(char *UdpFrame, MrCs2CanDataType *CanMsg);
void MrEthCs2Decode(MrCs2CanDataType *CanMsg, char *UdpFrame);
int MrEthCs2StartServer(void);
int MrEthCs2StartBcServer(void);
int MrEthCs2StartAppServer(void);
int MrEthCs2Accept(int ServSock);
void MrEthCs2MkBcAddr(struct sockaddr_in *baddr, char *IpAddr);
int MrEthCs2Recv(int Socket, struct sockaddr_in *ClntAddr, char *Data);
void MrEthCs2SendTo(int Socket, struct sockaddr_in *baddr, char *Data);
void MrEthCs2Send(int Socket, char *Data);
int MrEthCs2ConnectClient(void);
int MrEthCs2ConnectTcpClient(struct sockaddr_in *UdpSrvAddr);
void MrCs2Decode(MrCs2CanDataType *CanMsg, struct can_frame *CanFrame);
void MrCs2Encode(MrCs2CanDataType *CanMsg, struct can_frame *CanFrame);
void MrCs2DumpCanMsg(MrCs2CanDataType *CanMsg, char *Info);
void MrCs2Trace(MrCs2CanDataType *CanMsg);
Zurück zur Modellbahn Startseite -
Zurück zur Homepage