MotorControlModuleSDFM_TMS3.../Projects/EFC_UsbDriver/src/device.h
2024-06-07 11:04:32 +03:00

34 lines
1.1 KiB
C

/*
* device.h
*
* Created on: 28 Aug 2023
* Author: malyarenko
*/
#ifndef SRC_DEVICE_H_
#define SRC_DEVICE_H_
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#include "service/sv_device.h"
#include "loader/ld_device.h"
/** Дескриптор устройства на уровне приложения */
struct efc_usb_device_handler {
uint8_t current_config : 4; /**< Текущая конфигурация */
uint8_t enabled_config : 4; /**< Битовое поле включённых конфигуарций */
bool initialized; /**< Признак готовности драйвера */
struct {
struct sv_device sv; /**< Дескриптор конфигурации сервисного обмена */
struct ld_device ld; /**< Дескриптор конфигурации загрузчика */
} config_handler; /**< Дескриптор конфигурации */
};
bool device_validate_config(uint8_t enable_config, uint8_t current_config, const struct efc_usb_config* config);
#endif /* SRC_DEVICE_H_ */