blob: c10450b58b72357cf8cb7e9de4fb68c41673605f [file] [log] [blame]
Brian Silverman26e4e522015-12-17 01:56:40 -05001#pragma once
2
3#include <stdint.h>
4#include "FRC_NetworkCommunication/CANSessionMux.h"
5
6void canTxSend(uint32_t arbID, uint8_t length, int32_t period = CAN_SEND_PERIOD_NO_REPEAT);
7
8void canTxPackInt8 (uint32_t arbID, uint8_t offset, uint8_t value);
9void canTxPackInt16(uint32_t arbID, uint8_t offset, uint16_t value);
10void canTxPackInt32(uint32_t arbID, uint8_t offset, uint32_t value);
11void canTxPackFXP16(uint32_t arbID, uint8_t offset, double value);
12void canTxPackFXP32(uint32_t arbID, uint8_t offset, double value);
13
14uint8_t canTxUnpackInt8 (uint32_t arbID, uint8_t offset);
15uint32_t canTxUnpackInt32(uint32_t arbID, uint8_t offset);
16uint16_t canTxUnpackInt16(uint32_t arbID, uint8_t offset);
17double canTxUnpackFXP16(uint32_t arbID, uint8_t offset);
18double canTxUnpackFXP32(uint32_t arbID, uint8_t offset);
19
20bool canRxReceive(uint32_t arbID);
21
22uint8_t canRxUnpackInt8 (uint32_t arbID, uint8_t offset);
23uint16_t canRxUnpackInt16(uint32_t arbID, uint8_t offset);
24uint32_t canRxUnpackInt32(uint32_t arbID, uint8_t offset);
25double canRxUnpackFXP16(uint32_t arbID, uint8_t offset);
26double canRxUnpackFXP32(uint32_t arbID, uint8_t offset);