/*
 * Command.h
 *
 * Created: Thu Oct 13 2022 16:36:22
 *  Author Chris
 */
#ifndef COMMAND_H_
#define COMMAND_H_

// ============================================================================================
// Includes
#include <stdlib.h>
#include <stdbool.h>
#include <inttypes.h>

#include "pico/types.h"
#include "pico/stdlib.h"

#include "Command_Definition.h"


// ============================================================================================
// Defines


// ============================================================================================
// Datatypes


// ============================================================================================
// Function Declarations
void Command_Init();

void Command_Issue_Get_Request(uint8_t command, uint8_t parameter);
void Command_Issue_Set_Request(uint8_t command, uint8_t parameter, uint16_t value);

int Command_Get_Request_Response_By_Command_Only(uint8_t command, int timeout_us);
int Command_Get_Request_Response_By_Command_And_Parameter(uint8_t command, uint8_t parameter, int timeout_us);

uint Command_Get_Request_Response_Buffer_Fill_Count();

#endif /* COMMAND_H_ */
