blob: 67b34bb55c9e5230ed311ec6478cb88aecde4aba [file] [log] [blame]
Brian Silvermanf7f267a2017-02-04 16:16:08 -08001/*----------------------------------------------------------------------------*/
2/* Copyright (c) FIRST 2016-2017. All Rights Reserved. */
3/* Open Source Software - may be modified and shared by FRC teams. The code */
4/* must be accompanied by the FIRST BSD license file in the root directory of */
5/* the project. */
6/*----------------------------------------------------------------------------*/
7
8#pragma once
9
10#include <stdint.h>
11
12#include "FRC_NetworkCommunication/CANSessionMux.h"
13
14void canTxSend(uint32_t arbID, uint8_t length,
15 int32_t period = CAN_SEND_PERIOD_NO_REPEAT);
16
17void canTxPackInt8(uint32_t arbID, uint8_t offset, uint8_t value);
18void canTxPackInt16(uint32_t arbID, uint8_t offset, uint16_t value);
19void canTxPackInt32(uint32_t arbID, uint8_t offset, uint32_t value);
20void canTxPackFXP16(uint32_t arbID, uint8_t offset, double value);
21void canTxPackFXP32(uint32_t arbID, uint8_t offset, double value);
22
23uint8_t canTxUnpackInt8(uint32_t arbID, uint8_t offset);
24uint32_t canTxUnpackInt32(uint32_t arbID, uint8_t offset);
25uint16_t canTxUnpackInt16(uint32_t arbID, uint8_t offset);
26double canTxUnpackFXP16(uint32_t arbID, uint8_t offset);
27double canTxUnpackFXP32(uint32_t arbID, uint8_t offset);
28
29bool canRxReceive(uint32_t arbID);
30
31uint8_t canRxUnpackInt8(uint32_t arbID, uint8_t offset);
32uint16_t canRxUnpackInt16(uint32_t arbID, uint8_t offset);
33uint32_t canRxUnpackInt32(uint32_t arbID, uint8_t offset);
34double canRxUnpackFXP16(uint32_t arbID, uint8_t offset);
35double canRxUnpackFXP32(uint32_t arbID, uint8_t offset);