diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2009-08-20 07:21:43 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-08-20 07:21:43 +0000 |
commit | 5acf23b25465b82e5516510ee45aa9ed15178ad5 (patch) | |
tree | 09925c16516179e9ceac76a0f28d33d7828c94c9 /Projects/Unfinished/AVRISP/Lib | |
parent | 2f95eea14689d30a3172a7e1e30980072bf23fac (diff) | |
download | lufa-5acf23b25465b82e5516510ee45aa9ed15178ad5.tar.gz lufa-5acf23b25465b82e5516510ee45aa9ed15178ad5.tar.bz2 lufa-5acf23b25465b82e5516510ee45aa9ed15178ad5.zip |
Renamed Projects/Unfinished to Projects/Incomplete for consistancy.
Diffstat (limited to 'Projects/Unfinished/AVRISP/Lib')
-rw-r--r-- | Projects/Unfinished/AVRISP/Lib/V2Protocol.c | 232 | ||||
-rw-r--r-- | Projects/Unfinished/AVRISP/Lib/V2Protocol.h | 70 | ||||
-rw-r--r-- | Projects/Unfinished/AVRISP/Lib/V2ProtocolConstants.h | 86 | ||||
-rw-r--r-- | Projects/Unfinished/AVRISP/Lib/V2ProtocolParams.c | 137 | ||||
-rw-r--r-- | Projects/Unfinished/AVRISP/Lib/V2ProtocolParams.h | 72 |
5 files changed, 0 insertions, 597 deletions
diff --git a/Projects/Unfinished/AVRISP/Lib/V2Protocol.c b/Projects/Unfinished/AVRISP/Lib/V2Protocol.c deleted file mode 100644 index e55a7002e..000000000 --- a/Projects/Unfinished/AVRISP/Lib/V2Protocol.c +++ /dev/null @@ -1,232 +0,0 @@ -/*
- LUFA Library
- Copyright (C) Dean Camera, 2009.
-
- dean [at] fourwalledcubicle [dot] com
- www.fourwalledcubicle.com
-*/
-
-/*
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
- Permission to use, copy, modify, and distribute this software
- and its documentation for any purpose and without fee is hereby
- granted, provided that the above copyright notice appear in all
- copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaim all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-/** \file
- *
- * V2Protocol handler, to process V2 Protocol commands used in Atmel programmer devices.
- */
-
-#define INCLUDE_FROM_V2PROTOCOL_C
-#include "V2Protocol.h"
-
-uint32_t CurrentAddress;
-
-
-/* Table of masks for SPI_Init() from a given PARAM_SCK_DURATION value */
-static const uint8_t SPIMaskFromSCKDuration[MAX_SPI_SETTINGS] =
- {
- #if (F_CPU == 8000000)
- SPI_SPEED_FCPU_DIV_2,
- #endif
- SPI_SPEED_FCPU_DIV_2, SPI_SPEED_FCPU_DIV_4, SPI_SPEED_FCPU_DIV_8,
- SPI_SPEED_FCPU_DIV_16, SPI_SPEED_FCPU_DIV_32, SPI_SPEED_FCPU_DIV_64
- #if (F_CPU == 16000000)
- , SPI_SPEED_FCPU_DIV_128
- #endif
- };
-
-static void V2Protocol_ReconfigureSPI(void)
-{
- uint8_t SCKDuration = V2Params_GetParameterValue(PARAM_SCK_DURATION);
-
- if (SCKDuration >= MAX_SPI_SETTINGS)
- SCKDuration = (MAX_SPI_SETTINGS - 1);
-
- SPI_Init(SPIMaskFromSCKDuration[SCKDuration], true);
-}
-
-static void V2Protocol_ChangeTargetResetLine(bool ResetTarget)
-{
- if (ResetTarget)
- {
- RESET_LINE_DDR |= RESET_LINE_MASK;
-
- if (!(V2Params_GetParameterValue(PARAM_RESET_POLARITY)))
- RESET_LINE_PORT |= RESET_LINE_MASK;
- }
- else
- {
- RESET_LINE_PORT &= ~RESET_LINE_MASK;
- RESET_LINE_DDR &= ~RESET_LINE_MASK;
- }
-}
- -void V2Protocol_ProcessCommand(void) -{ - uint8_t V2Command = Endpoint_Read_Byte();
-
- switch (V2Command)
- {
- case CMD_SIGN_ON:
- V2Protocol_Command_SignOn();
- break;
- case CMD_SET_PARAMETER:
- case CMD_GET_PARAMETER:
- V2Protocol_Command_GetSetParam(V2Command);
- break;
- case CMD_LOAD_ADDRESS:
- V2Protocol_Command_LoadAddress();
- break;
- case CMD_SPI_MULTI:
- V2Protocol_Command_SPIMulti();
- break;
- default:
- V2Protocol_Command_Unknown(V2Command);
- break;
- }
-
- printf("COMMAND 0x%02x\r\n", V2Command);
-
- Endpoint_WaitUntilReady();
- Endpoint_SetEndpointDirection(ENDPOINT_DIR_OUT); -} -
-static void V2Protocol_Command_Unknown(uint8_t V2Command)
-{
- /* Discard all incomming data */
- while (Endpoint_BytesInEndpoint() == AVRISP_DATA_EPSIZE)
- {
- Endpoint_ClearOUT();
- Endpoint_WaitUntilReady();
- }
-
- Endpoint_ClearOUT();
- Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
- Endpoint_WaitUntilReady();
-
- Endpoint_Write_Byte(V2Command);
- Endpoint_Write_Byte(STATUS_CMD_UNKNOWN);
- Endpoint_ClearIN();
-}
- -static void V2Protocol_Command_SignOn(void)
-{
- Endpoint_ClearOUT();
- Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
- Endpoint_WaitUntilReady();
-
- V2Protocol_ReconfigureSPI();
- CurrentAddress = 0;
-
- Endpoint_Write_Byte(CMD_SIGN_ON);
- Endpoint_Write_Byte(STATUS_CMD_OK);
- Endpoint_Write_Byte(PROGRAMMER_ID_LEN);
- Endpoint_Write_Stream_LE(PROGRAMMER_ID, PROGRAMMER_ID_LEN);
- Endpoint_ClearIN();
-}
-
-static void V2Protocol_Command_GetSetParam(uint8_t V2Command)
-{
- uint8_t ParamID = Endpoint_Read_Byte();
- uint8_t ParamValue = Endpoint_Read_Byte();
-
- Endpoint_ClearOUT();
- Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
- Endpoint_WaitUntilReady();
-
- uint8_t ParamPrivs = V2Params_GetParameterPrivellages(ParamID);
-
- Endpoint_Write_Byte(V2Command);
-
- if ((V2Command == CMD_SET_PARAMETER) && (ParamPrivs & PARAM_PRIV_WRITE))
- {
- Endpoint_Write_Byte(STATUS_CMD_OK);
- V2Params_SetParameterValue(ParamID, ParamValue);
- }
- else if ((V2Command == CMD_GET_PARAMETER) && (ParamPrivs & PARAM_PRIV_READ))
- {
- Endpoint_Write_Byte(STATUS_CMD_OK);
- Endpoint_Write_Byte(V2Params_GetParameterValue(ParamID));
- }
- else
- {
- Endpoint_Write_Byte(STATUS_CMD_FAILED);
- }
-
- Endpoint_ClearIN();
-}
-
-static void V2Protocol_Command_LoadAddress(void)
-{
- CurrentAddress = Endpoint_Read_DWord_LE();
-
- Endpoint_ClearOUT();
- Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
- Endpoint_WaitUntilReady();
-
- Endpoint_Write_Byte(CMD_LOAD_ADDRESS);
- Endpoint_Write_Byte(STATUS_CMD_OK);
- Endpoint_ClearIN();
-}
-
-static void V2Protocol_Command_SPIMulti(void)
-{
- uint8_t TxBytes = Endpoint_Read_Byte();
- uint8_t RxBytes = Endpoint_Read_Byte();
- uint8_t RxStartAddr = Endpoint_Read_Byte();
- uint8_t TxData[255];
-
- Endpoint_Read_Stream_LE(TxData, TxBytes);
-
- Endpoint_ClearOUT();
- Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
- Endpoint_WaitUntilReady();
-
- Endpoint_Write_Byte(CMD_SPI_MULTI);
- Endpoint_Write_Byte(STATUS_CMD_OK);
-
- uint8_t CurrTxPos = 0;
- uint8_t CurrRxPos = 0;
-
- /* Write out bytes to transmit until the start of the bytes to receive is met */
- while (CurrTxPos < RxStartAddr)
- {
- if (CurrTxPos < TxBytes)
- SPI_SendByte(TxData[CurrTxPos]);
- else
- SPI_SendByte(0);
-
- CurrTxPos++;
- }
-
- /* Transmit remaining bytes with padding as needed, read in response bytes */
- while (CurrRxPos < RxBytes)
- {
- if (CurrTxPos < TxBytes)
- Endpoint_Write_Byte(SPI_TransferByte(TxData[CurrTxPos++]));
- else
- Endpoint_Write_Byte(SPI_ReceiveByte());
-
- CurrRxPos++;
- }
-
- Endpoint_Write_Byte(STATUS_CMD_OK);
- Endpoint_ClearIN();
-}
diff --git a/Projects/Unfinished/AVRISP/Lib/V2Protocol.h b/Projects/Unfinished/AVRISP/Lib/V2Protocol.h deleted file mode 100644 index 5283f1986..000000000 --- a/Projects/Unfinished/AVRISP/Lib/V2Protocol.h +++ /dev/null @@ -1,70 +0,0 @@ -/*
- LUFA Library
- Copyright (C) Dean Camera, 2009.
-
- dean [at] fourwalledcubicle [dot] com
- www.fourwalledcubicle.com
-*/
-
-/*
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
- Permission to use, copy, modify, and distribute this software
- and its documentation for any purpose and without fee is hereby
- granted, provided that the above copyright notice appear in all
- copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaim all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-/** \file
- *
- * Header file for V2Protocol.c.
- */
-
-#ifndef _V2_PROTOCOL_ -#define _V2_PROTOCOL_ - - /* Includes: */ - #include <avr/io.h>
-
- #include <LUFA/Drivers/USB/USB.h> - #include <LUFA/Drivers/Peripheral/SPI.h>
-
- #include "../Descriptors.h" - #include "V2ProtocolConstants.h"
- #include "V2ProtocolParams.h" - - /* Macros: */ - #define PROGRAMMER_ID "AVRISP_MK2" - #define PROGRAMMER_ID_LEN (sizeof(PROGRAMMER_ID) - 1) -
- #define MAX_SPI_SETTINGS 7
- - /* Function Prototypes: */
- void V2Protocol_ProcessCommand(void);
-
- #if defined(INCLUDE_FROM_V2PROTOCOL_C)
- static void V2Protocol_ReconfigureSPI(void);
- static void V2Protocol_ChangeTargetResetLine(bool ResetTarget);
-
- static void V2Protocol_Command_Unknown(uint8_t V2Command);
- static void V2Protocol_Command_SignOn(void);
- static void V2Protocol_Command_GetSetParam(uint8_t V2Command);
- static void V2Protocol_Command_LoadAddress(void);
- static void V2Protocol_Command_SPIMulti(void);
- #endif - -#endif - diff --git a/Projects/Unfinished/AVRISP/Lib/V2ProtocolConstants.h b/Projects/Unfinished/AVRISP/Lib/V2ProtocolConstants.h deleted file mode 100644 index dce660a73..000000000 --- a/Projects/Unfinished/AVRISP/Lib/V2ProtocolConstants.h +++ /dev/null @@ -1,86 +0,0 @@ -/*
- LUFA Library
- Copyright (C) Dean Camera, 2009.
-
- dean [at] fourwalledcubicle [dot] com
- www.fourwalledcubicle.com
-*/
-
-/*
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
- Permission to use, copy, modify, and distribute this software
- and its documentation for any purpose and without fee is hereby
- granted, provided that the above copyright notice appear in all
- copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaim all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-/** \file
- *
- * Macros for the V2 Protocol Packet Commands and Responses.
- */
-
-#ifndef _V2_PROTOCOL_CONSTANTS_
-#define _V2_PROTOCOL_CONSTANTS_
-
- /* Macros: */
- #define CMD_SIGN_ON 0x01
- #define CMD_SET_PARAMETER 0x02
- #define CMD_GET_PARAMETER 0x03
- #define CMD_OSCCAL 0x05
- #define CMD_LOAD_ADDRESS 0x06
- #define CMD_FIRMWARE_UPGRADE 0x07
- #define CMD_RESET_PROTECTION 0x0A
- #define CMD_ENTER_PROGMODE_ISP 0x10
- #define CMD_LEAVE_PROGMODE_ISP 0x11
- #define CMD_CHIP_ERASE_ISP 0x12
- #define CMD_PROGRAM_FLASH_ISP 0x13
- #define CMD_READ_FLASH_ISP 0x14
- #define CMD_PROGRAM_EEPROM_ISP 0x15
- #define CMD_READ_EEPROM_ISP 0x16
- #define CMD_PROGRAM_FUSE_ISP 0x17
- #define CMD_READ_FUSE_ISP 0x18
- #define CMD_PROGRAM_LOCK_ISP 0x19
- #define CMD_READ_LOCK_ISP 0x1A
- #define CMD_READ_SIGNATURE_ISP 0x1B
- #define CMD_READ_OSCCAL_ISP 0x1C
- #define CMD_SPI_MULTI 0x1D
-
- #define STATUS_CMD_OK 0x00
- #define STATUS_CMD_TOUT 0x80
- #define STATUS_RDY_BSY_TOUT 0x81
- #define STATUS_SET_PARAM_MISSING 0x82
- #define STATUS_CMD_FAILED 0xC0
- #define STATUS_CMD_UNKNOWN 0xC9
- #define STATUS_ISP_READY 0x00
- #define STATUS_CONN_FAIL_MOSI 0x01
- #define STATUS_CONN_FAIL_RST 0x02
- #define STATUS_CONN_FAIL_SCK 0x04
- #define STATUS_TGT_NOT_DETECTED 0x10
- #define STATUS_TGT_REVERSE_INSERTED 0x20
-
- #define PARAM_BUILD_NUMBER_LOW 0x80
- #define PARAM_BUILD_NUMBER_HIGH 0x81
- #define PARAM_HW_VER 0x90
- #define PARAM_SW_MAJOR 0x91
- #define PARAM_SW_MINOR 0x92
- #define PARAM_VTARGET 0x94
- #define PARAM_SCK_DURATION 0x98
- #define PARAM_RESET_POLARITY 0x9E
- #define PARAM_STATUS_TGT_CONN 0xA1
- #define PARAM_DISCHARGEDELAY 0xA4
-
-#endif
diff --git a/Projects/Unfinished/AVRISP/Lib/V2ProtocolParams.c b/Projects/Unfinished/AVRISP/Lib/V2ProtocolParams.c deleted file mode 100644 index 777770188..000000000 --- a/Projects/Unfinished/AVRISP/Lib/V2ProtocolParams.c +++ /dev/null @@ -1,137 +0,0 @@ -/*
- LUFA Library
- Copyright (C) Dean Camera, 2009.
-
- dean [at] fourwalledcubicle [dot] com
- www.fourwalledcubicle.com
-*/
-
-/*
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
- Permission to use, copy, modify, and distribute this software
- and its documentation for any purpose and without fee is hereby
- granted, provided that the above copyright notice appear in all
- copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaim all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-/** \file
- *
- * V2Protocol parameter handler, to process V2 Protocol device parameters.
- */
-
-#define INCLUDE_FROM_V2PROTOCOL_PARAMS_C
-#include "V2ProtocolParams.h"
-
-/* Non-Volatile Parameter Values for EEPROM storage */
-uint8_t EEMEM EEPROM_Rest_Polarity;
-
-/* Volatile Parameter Values for RAM storage */
-static ParameterItem_t ParameterTable[] =
- {
- { .ParamID = PARAM_BUILD_NUMBER_LOW,
- .ParamValue = (LUFA_VERSION_INTEGER >> 8),
- .ParamPrivellages = PARAM_PRIV_READ },
-
- { .ParamID = PARAM_BUILD_NUMBER_HIGH,
- .ParamValue = (LUFA_VERSION_INTEGER & 0xFF),
- .ParamPrivellages = PARAM_PRIV_READ },
-
- { .ParamID = PARAM_HW_VER,
- .ParamValue = 0x01,
- .ParamPrivellages = PARAM_PRIV_READ },
-
- { .ParamID = PARAM_SW_MAJOR,
- .ParamValue = 0x01,
- .ParamPrivellages = PARAM_PRIV_READ },
-
- { .ParamID = PARAM_SW_MINOR,
- .ParamValue = 0x00,
- .ParamPrivellages = PARAM_PRIV_READ },
-
- { .ParamID = PARAM_VTARGET,
- .ParamValue = 0x00,
- .ParamPrivellages = PARAM_PRIV_READ },
-
- { .ParamID = PARAM_SCK_DURATION,
- .ParamValue = MAX_SPI_SETTINGS,
- .ParamPrivellages = PARAM_PRIV_READ | PARAM_PRIV_WRITE },
-
- { .ParamID = PARAM_RESET_POLARITY,
- .ParamValue = 0x01,
- .ParamPrivellages = PARAM_PRIV_WRITE },
-
- { .ParamID = PARAM_STATUS_TGT_CONN,
- .ParamValue = 0x00,
- .ParamPrivellages = PARAM_PRIV_READ },
-
- { .ParamID = PARAM_DISCHARGEDELAY,
- .ParamValue = 0x00,
- .ParamPrivellages = PARAM_PRIV_WRITE },
- };
-
-
-void V2Params_LoadEEPROMParamValues(void)
-{
- /* Target RESET line polarity is a non-volatile value, retrieve current parameter value from EEPROM */
- V2Params_GetParamFromTable(PARAM_RESET_POLARITY)->ParamValue = eeprom_read_byte(&EEPROM_Rest_Polarity);
-}
-
-static ParameterItem_t* V2Params_GetParamFromTable(uint8_t ParamID)
-{
- /* Find the parameter in the parameter table if present */
- for (uint8_t TableIndex = 0; TableIndex < (sizeof(ParameterTable) / sizeof(ParameterTable[0])); TableIndex++)
- {
- if (ParamID == ParameterTable[TableIndex].ParamID)
- return &ParameterTable[TableIndex];
- }
-
- return NULL;
-}
-
-uint8_t V2Params_GetParameterPrivellages(uint8_t ParamID)
-{
- ParameterItem_t* ParamInfo = V2Params_GetParamFromTable(ParamID);
-
- if (ParamInfo == NULL)
- return 0;
-
- return ParamInfo->ParamPrivellages;
-}
-
-uint8_t V2Params_GetParameterValue(uint8_t ParamID)
-{
- ParameterItem_t* ParamInfo = V2Params_GetParamFromTable(ParamID);
-
- if (ParamInfo == NULL)
- return 0;
-
- return ParamInfo->ParamValue;
-}
-
-void V2Params_SetParameterValue(uint8_t ParamID, uint8_t Value)
-{
- ParameterItem_t* ParamInfo = V2Params_GetParamFromTable(ParamID);
-
- if (ParamInfo == NULL)
- return;
-
- ParamInfo->ParamValue = Value;
-
- /* The target RESET line polarity is a non-volatile parameter, save to EEPROM when changed */
- if (ParamID == PARAM_RESET_POLARITY)
- eeprom_write_byte(&EEPROM_Rest_Polarity, Value);
-}
diff --git a/Projects/Unfinished/AVRISP/Lib/V2ProtocolParams.h b/Projects/Unfinished/AVRISP/Lib/V2ProtocolParams.h deleted file mode 100644 index 4797c9fa8..000000000 --- a/Projects/Unfinished/AVRISP/Lib/V2ProtocolParams.h +++ /dev/null @@ -1,72 +0,0 @@ -/*
- LUFA Library
- Copyright (C) Dean Camera, 2009.
-
- dean [at] fourwalledcubicle [dot] com
- www.fourwalledcubicle.com
-*/
-
-/*
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
- Permission to use, copy, modify, and distribute this software
- and its documentation for any purpose and without fee is hereby
- granted, provided that the above copyright notice appear in all
- copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaim all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-/** \file
- *
- * Header file for V2ProtocolParams.c.
- */
-
-#ifndef _V2_PROTOCOL_PARAMS_ -#define _V2_PROTOCOL_PARAMS_ - - /* Includes: */ - #include <avr/io.h>
- #include <avr/eeprom.h> -
- #include <LUFA/Version.h> -
- #include "V2Protocol.h"
- #include "V2ProtocolConstants.h"
-
- /* Macros: */
- #define PARAM_PRIV_READ (1 << 0)
- #define PARAM_PRIV_WRITE (1 << 1)
- - /* Type Defines: */
- typedef struct
- {
- const uint8_t ParamID;
- uint8_t ParamValue;
- uint8_t ParamPrivellages;
- } ParameterItem_t; - - /* Function Prototypes: */
- void V2Params_LoadEEPROMParamValues(void);
-
- uint8_t V2Params_GetParameterPrivellages(uint8_t ParamID);
- uint8_t V2Params_GetParameterValue(uint8_t ParamID);
- void V2Params_SetParameterValue(uint8_t ParamID, uint8_t Value);
-
- #if defined(INCLUDE_FROM_V2PROTOCOL_PARAMS_C)
- static ParameterItem_t* V2Params_GetParamFromTable(uint8_t ParamID);
- #endif
- -#endif - |