Files
RP2350_MIDI_Lighter/Firmware/USB_Serial.h

43 lines
1.4 KiB
C

/*
* USB_Serial.h
*
* Created: Sat Mar 20 2021 09:23:49
* Author Chris
*/
#ifndef USB_SERIAL_H_
#define USB_SERIAL_H_
// ============================================================================================
// Includes
#include <stdio.h>
#include <stdint.h>
#include <stdbool.h>
#include "inttypes.h"
// ============================================================================================
// Defines
#define USB_SERIAL_TERMINATOR 0x0D
#define USB_SERIAL_SEND_STRING(_TEXT_) USB_Serial_Write((uint8_t*)_TEXT_, sizeof(_TEXT_)-1)
#define USB_SERIAL_SEND_TERMINATOR() USB_Serial_Put_Char(USB_SERIAL_TERMINATOR);
// ============================================================================================
// Function Declarations
void USB_Serial_Init(void);
// Receiving Data
int16_t USB_Serial_Get_Byte(void); // Receive a Byte (-1 if timeout/error)
bool USB_Serial_Available(void); // Number of bytes in receive buffer
void USB_Serial_Flush_Input(void); // Discard any buffered input
// Transmitting Data
bool USB_Serial_Put_Char(uint8_t c); // Transmit a character
bool USB_Serial_Write(const uint8_t *buffer, uint16_t size); // Transmit a buffer
bool USB_Serial_Send_Int_Dec(int value, uint32_t numbers);
bool USB_Serial_Send_Int_Hex(uint32_t value, uint32_t numbers, bool Send_0x);
bool USB_Serial_Send_Float(float value, uint32_t numbers, uint32_t decimals, bool force_sign);
#endif /* USB_SERIAL_H_ */