first commit
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
/**
|
||||
* @file link_cable.h
|
||||
* @brief Link Cable Manager for 2-Player GameBoy Multiplayer
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "esp_err.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
LINK_DISCONNECTED = 0,
|
||||
LINK_MASTER,
|
||||
LINK_SLAVE
|
||||
} link_cable_state_t;
|
||||
|
||||
/**
|
||||
* @brief Initialize Link Cable
|
||||
* @return ESP_OK on success
|
||||
*/
|
||||
esp_err_t link_cable_init(void);
|
||||
|
||||
/**
|
||||
* @brief Check if cable is connected
|
||||
* @return true if connected
|
||||
*/
|
||||
bool link_cable_is_connected(void);
|
||||
|
||||
/**
|
||||
* @brief Get current link state
|
||||
*/
|
||||
link_cable_state_t link_cable_get_state(void);
|
||||
|
||||
/**
|
||||
* @brief Transfer one byte (send and receive simultaneously)
|
||||
* @param data_out Byte to send
|
||||
* @return Received byte
|
||||
*/
|
||||
uint8_t link_cable_transfer_byte(uint8_t data_out);
|
||||
|
||||
/**
|
||||
* @brief Get transfer statistics
|
||||
* @param tx Bytes sent (can be NULL)
|
||||
* @param rx Bytes received (can be NULL)
|
||||
* @param err Errors (can be NULL)
|
||||
*/
|
||||
void link_cable_get_stats(uint32_t *tx, uint32_t *rx, uint32_t *err);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user