Commit 634a138b authored by Peter Zumbruch's avatar Peter Zumbruch
Browse files

Merge branch '4.6.2.1'

parents 2459434a aaa7ce37
......@@ -26,7 +26,7 @@
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1286898020" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="/opt/cross/avr/avr/include"/>
<listOptionValue builtIn="false" value="/opt/cross/avr/include"/>
<listOptionValue builtIn="false" value="/opt/cross/avr/lib/gcc/avr/4.3.3/include"/>
<listOptionValue builtIn="false" value="/opt/cross/avr/lib/gcc/avr/4.8.3/include"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.974436993" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
......@@ -34,7 +34,7 @@
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.847140887" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="/opt/cross/avr/avr/include"/>
<listOptionValue builtIn="false" value="/opt/cross/avr/include"/>
<listOptionValue builtIn="false" value="/opt/cross/avr/lib/gcc/avr/4.3.3/include"/>
<listOptionValue builtIn="false" value="/opt/cross/avr/lib/gcc/avr/4.8.3/include"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.480429370" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
......@@ -42,7 +42,7 @@
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1767058096" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="/opt/cross/avr/avr/include"/>
<listOptionValue builtIn="false" value="/opt/cross/avr/include"/>
<listOptionValue builtIn="false" value="/opt/cross/avr/lib/gcc/avr/4.3.3/include"/>
<listOptionValue builtIn="false" value="/opt/cross/avr/lib/gcc/avr/4.8.3/include"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.159649634" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
......
......@@ -67,7 +67,7 @@ static const char responseKeyword00[] PROGMEM = "RECV";
static const char responseKeyword01[] PROGMEM = "CANR";
static const char responseKeyword02[] PROGMEM = "SYST";
const char* responseKeywords[] PROGMEM = {
const char* const responseKeywords[] PROGMEM = {
responseKeyword00,
responseKeyword01,
responseKeyword02
......@@ -477,7 +477,7 @@ static const char commandShortDescription54[] PROGMEM = "";
static const uint8_t commandImplementation54 PROGMEM = FALSE;
/* this is the corresponding command key array, beware of the same order*/
const char* commandKeywords[] PROGMEM = {
const char* const commandKeywords[] PROGMEM = {
commandKeyword00, commandKeyword01, commandKeyword02, commandKeyword03, commandKeyword04, commandKeyword05,
commandKeyword06, commandKeyword07, commandKeyword08, commandKeyword09, commandKeyword10, commandKeyword11,
commandKeyword12, commandKeyword13, commandKeyword14, commandKeyword15, commandKeyword16, commandKeyword17,
......@@ -492,7 +492,7 @@ const char* commandKeywords[] PROGMEM = {
/* those are the command keywords of the API*/
/* this is the corresponding command key array, beware of the same order*/
const char* commandSyntaxes[] PROGMEM = {
const char* const commandSyntaxes[] PROGMEM = {
commandSyntax00, commandSyntax01, commandSyntax02, commandSyntax03, commandSyntax04, commandSyntax05, commandSyntax06,
commandSyntax07, commandSyntax08, commandSyntax09, commandSyntax10, commandSyntax11, commandSyntax12,
commandSyntax13, commandSyntax14, commandSyntax15, commandSyntax16, commandSyntax17, commandSyntax18,
......@@ -505,7 +505,7 @@ const char* commandSyntaxes[] PROGMEM = {
};
/* this is the corresponding command key array, beware of the same order*/
const char* commandSyntaxAlternatives[] PROGMEM = {
const char* const commandSyntaxAlternatives[] PROGMEM = {
commandSyntaxAlternative00, commandSyntaxAlternative01, commandSyntaxAlternative02, commandSyntaxAlternative03,
commandSyntaxAlternative04, commandSyntaxAlternative05, commandSyntaxAlternative06, commandSyntaxAlternative07,
commandSyntaxAlternative08, commandSyntaxAlternative09, commandSyntaxAlternative10, commandSyntaxAlternative11,
......@@ -523,7 +523,7 @@ const char* commandSyntaxAlternatives[] PROGMEM = {
};
/* this is the corresponding command key array, beware of the same order*/
const char* commandShortDescriptions[] PROGMEM= {
const char* const commandShortDescriptions[] PROGMEM= {
commandShortDescription00, commandShortDescription01, commandShortDescription02, commandShortDescription03,
commandShortDescription04, commandShortDescription05, commandShortDescription06, commandShortDescription07,
commandShortDescription08, commandShortDescription09, commandShortDescription10, commandShortDescription11,
......@@ -540,7 +540,7 @@ const char* commandShortDescriptions[] PROGMEM= {
commandShortDescription52, commandShortDescription53, commandShortDescription54
};
const uint8_t* commandImplementations[] PROGMEM= {
const uint8_t* const commandImplementations[] PROGMEM= {
&commandImplementation00, &commandImplementation01, &commandImplementation02, &commandImplementation03,
&commandImplementation04, &commandImplementation05, &commandImplementation06, &commandImplementation07,
&commandImplementation08, &commandImplementation09, &commandImplementation10, &commandImplementation11,
......@@ -569,7 +569,7 @@ static const char se07[] PROGMEM = "too few arguments";
static const char se08[] PROGMEM = "invalid sub command name"; // SERIAL_ERROR_invalid_sub_command_name,
static const char se09[] PROGMEM = "argument string too long"; // SERIAL_ERROR_argument_string_too_long,
const char *serial_error[] PROGMEM = { se00, se01, se02, se03, se04, se05, se06, se07, se08, se09};
const char* const serial_error[] PROGMEM = { se00, se01, se02, se03, se04, se05, se06, se07, se08, se09};
static const char ge00[] PROGMEM = "init for timer0 failed";
static const char ge01[] PROGMEM = "init for timer0A failed";
......@@ -583,7 +583,7 @@ static const char ge08[] PROGMEM = "address has invalid type";
static const char ge09[] PROGMEM = "undefined family code";
static const char ge10[] PROGMEM = "invalid argument";
const char *general_error[] PROGMEM = { ge00, ge01, ge02, ge03, ge04, ge05, ge06, ge07, ge08, ge09, ge10 };
const char* const general_error[] PROGMEM = { ge00, ge01, ge02, ge03, ge04, ge05, ge06, ge07, ge08, ge09, ge10 };
/* pointer of array for defined general error number*/
static const char errorType00[] PROGMEM = "ERRG"; /*general*/
......@@ -594,7 +594,7 @@ static const char errorType04[] PROGMEM = "ERRT"; /*TWI / I2C*/
static const char errorType05[] PROGMEM = "ERRU"; /*undefined*/
/* this is the corresponding error Type array, beware of the same order*/
const char *errorTypes[] PROGMEM = {
const char* const errorTypes[] PROGMEM = {
errorType00,
errorType01,
errorType02,
......@@ -1097,7 +1097,7 @@ void apiConvertUartDataToCanUartStruct( uint8_t offset )
* -99 on error
*/
int8_t apiFindCommandKeywordIndex(const char string[], PGM_P keywords[], size_t keywordMaximumIndex )
int8_t apiFindCommandKeywordIndex(const char string[], PGM_P const keywords[], size_t keywordMaximumIndex )
{
if (NULL == string ) {return -99;} /* NULL pointer */
if (NULL == keywords ) {return -99;} /* NULL pointer */
......@@ -2166,7 +2166,7 @@ void toggle_pin( unsigned char pin_number )
#warning TODO: make uart_message_string optional buffer to write to
void createExtendedSubCommandReceiveResponseHeader(struct uartStruct * ptr_uartStruct,
int8_t commandKeywordIndex, int8_t subCommandKeywordIndex, PGM_P commandKeywords[])
int8_t commandKeywordIndex, int8_t subCommandKeywordIndex, PGM_P const commandKeywords[])
{
/* make sure commandKeywordIndex is shown */
int8_t keywordIndex = ptr_uartStruct->commandKeywordIndex;
......@@ -2529,7 +2529,7 @@ void startMessage(void)
}
}
size_t getMaximumStringArrayLength_P(PGM_P array[], size_t maxIndex, size_t maxResult)
size_t getMaximumStringArrayLength_P(PGM_P const array[], size_t maxIndex, size_t maxResult)
{
size_t maxLength = 0;
for (size_t index = 0; index < maxIndex; ++index)
......
......@@ -69,7 +69,7 @@ extern int16_t (*UART0_Send_Message_String_p)( char *, uint16_t );
int8_t UART0_Send_Message_String_woLF( char *outputString, uint32_t maxSize );/* help function for the output of register contents in CPU */
int8_t apiFindCommandKeywordIndex(const char string[], PGM_P commandKeywords[], size_t commandMaximumIndex ); /* find matching command keyword and return its index*/
int8_t apiFindCommandKeywordIndex(const char string[], PGM_P const commandKeywords[], size_t commandMaximumIndex ); /* find matching command keyword and return its index*/
static inline bool isKeywordIndex( int index, int maximumIndex )
{
......@@ -97,7 +97,7 @@ void toggle_pin( unsigned char pin_number );
uint8_t createReceiveHeader( struct uartStruct *ptr_uartStruct, char message_string[], uint16_t size );
void createExtendedSubCommandReceiveResponseHeader(struct uartStruct * ptr_uartStruct, int8_t keyNumber, int8_t index, PGM_P commandKeyword[]);
void createExtendedSubCommandReceiveResponseHeader(struct uartStruct * ptr_uartStruct, int8_t keyNumber, int8_t index, PGM_P const commandKeyword[]);
uint16_t getNumberOfHexDigits(const char string[], const uint16_t maxLenght);
bool isNumericArgument(const char string[], const uint16_t maxLength);
......@@ -109,7 +109,7 @@ void reset(struct uartStruct *ptr_uartStruct);
void init(struct uartStruct *ptr_uartStruct);
void startMessage(void);
size_t getMaximumStringArrayLength_P(PGM_P array[], size_t maxIndex, size_t maxResult);
size_t getMaximumStringArrayLength_P(PGM_P const array[], size_t maxIndex, size_t maxResult);
size_t getMaximumStringArrayLength(const char* array[], size_t maxIndex, size_t maxResult);
void determineAndHandleResetSource(void);
......@@ -121,7 +121,7 @@ bool isNumericalConstantZero(const char string[]);
#ifndef API_CONSTANTS_H_
extern const char *general_error[] PROGMEM;
extern const char* const general_error[] PROGMEM;
enum ge_index
{
GENERAL_ERROR_init_for_timer0_failed = 0,
......@@ -139,7 +139,7 @@ enum ge_index
};
extern const char *serial_error[] PROGMEM;
extern const char* const serial_error[] PROGMEM;
enum se_index
{
SERIAL_ERROR_no_valid_command_name = 0,
......@@ -160,7 +160,7 @@ enum dynamicMessage_index
dynamicMessage_ErrorIndex = -100,
};
extern const char* responseKeywords[] PROGMEM;
extern const char* const responseKeywords[] PROGMEM;
/* those are the corresponding command key numbers to commandKeywords, beware of the same order*/
enum responseKeyNumber
{
......@@ -170,7 +170,7 @@ enum responseKeyNumber
responseKeyNumber_MAXIMUM_INDEX
};
extern const char* commandKeywords[] PROGMEM;
extern const char* const commandKeywords[] PROGMEM;
/* those are the corresponding command key numbers to commandKeywords, beware of the same order*/
enum cmdKeyNumber
{
......@@ -231,14 +231,14 @@ enum cmdKeyNumber
commandKeyNumber_MAXIMUM_NUMBER
};
extern const char* commandSyntaxes[] PROGMEM;
extern const char* commandSyntaxAlternatives[] PROGMEM;
extern const char* commandShortDescriptions[] PROGMEM;
extern const uint8_t* commandImplementations[] PROGMEM;
extern const char* const commandSyntaxes[] PROGMEM;
extern const char* const commandSyntaxAlternatives[] PROGMEM;
extern const char* const commandShortDescriptions[] PROGMEM;
extern const uint8_t* const commandImplementations[] PROGMEM;
extern const uint8_t* commandImpls[] PROGMEM;
extern const uint8_t* const commandImpls[] PROGMEM;
extern const char *errorTypes[] PROGMEM;
extern const char* const errorTypes[] PROGMEM;
/* those are the corresponding ERRx numbers to errorTypes, beware of the same order*/
enum ERRs
{
......@@ -251,8 +251,8 @@ enum ERRs
ERR_MAXIMUM_NUMBER
};
extern const char *debugLevelNames[] PROGMEM;
extern const char *debugSystemNames[] PROGMEM;
extern const char* const debugLevelNames[] PROGMEM;
extern const char* const debugSystemNames[] PROGMEM;
enum resetSources
{
......
......@@ -39,7 +39,7 @@ static const char commandDebugKeyword01[] PROGMEM = "level";
static const char commandDebugKeyword02[] PROGMEM = "mask";
static const char commandDebugKeyword03[] PROGMEM = "help";
const char* commandDebugKeywords[] PROGMEM = {
const char* const commandDebugKeywords[] PROGMEM = {
commandDebugKeyword00,
commandDebugKeyword01,
commandDebugKeyword02,
......@@ -53,7 +53,7 @@ static const char debugLevelName03[] PROGMEM = "eventDebugVerbose";
static const char debugLevelName04[] PROGMEM = "periodicDebug";
static const char debugLevelName05[] PROGMEM = "periodicDebugVerbose";
const char *debugLevelNames[] PROGMEM = {
const char* const debugLevelNames[] PROGMEM = {
debugLevelName00, debugLevelName01, debugLevelName02, debugLevelName03, debugLevelName04, debugLevelName05
};
......@@ -82,7 +82,7 @@ static const char debugSystemName21[] PROGMEM = "TIMER0AScheduler";
static const char debugSystemName22[] PROGMEM = "TWI";
static const char debugSystemName23[] PROGMEM = "SPI";
const char *debugSystemNames[] PROGMEM =
const char* const debugSystemNames[] PROGMEM =
{
debugSystemName00, debugSystemName01, debugSystemName02, debugSystemName03, debugSystemName04, debugSystemName05,
debugSystemName06, debugSystemName07, debugSystemName08, debugSystemName09, debugSystemName10,
......
......@@ -56,7 +56,7 @@ enum debugSystems
debugSystem_MAXIMUM_INDEX
};
extern const char* commandDebugKeywords[] PROGMEM;
extern const char* const commandDebugKeywords[] PROGMEM;
enum cmdDebugKeyNumber
{
......
......@@ -2,7 +2,7 @@
#define API_DEFINE__H
/*the define.h header file contents all define variable*/
#define CODE_VERSION "4.6.2"
#define CODE_VERSION "4.6.2.1"
#ifndef HADCON_VERSION
#define HADCON_VERSION 2
......
......@@ -63,13 +63,13 @@ extern uint8_t ptr_subscribe; /* pointer of variable subscribe_ID and subscribe_
extern uint8_t flag_pingActive; /* flag for PING mechanism */
extern const char *serial_error[] PROGMEM;
extern const char *can_error[] PROGMEM;
extern const char *twi_error[] PROGMEM;
extern const char *mob_error[] PROGMEM;
extern const char *general_error[] PROGMEM;
extern const char* const serial_error[] PROGMEM;
extern const char* const can_error[] PROGMEM;
extern const char* const twi_error[] PROGMEM;
extern const char* const mob_error[] PROGMEM;
extern const char* const general_error[] PROGMEM;
extern const char *canBusModes[] PROGMEM;
extern const char* const canBusModes[] PROGMEM;
extern char currentCommandKeyword[MAX_LENGTH_KEYWORD];/*variable to store current command keyword e.g. "SEND"*/
extern char currentResponseKeyword[MAX_LENGTH_KEYWORD];/*variable to store current command keyword e.g. "RECV"*/
......
......@@ -66,7 +66,7 @@ static const char helpCommandKeyword00[] PROGMEM = "implemented";
static const char helpCommandKeyword01[] PROGMEM = "all";
static const char helpCommandKeyword02[] PROGMEM = "todo";
const char* helpCommandKeywords[] PROGMEM = {
const char* const helpCommandKeywords[] PROGMEM = {
helpCommandKeyword00,
helpCommandKeyword01,
helpCommandKeyword02
......@@ -661,7 +661,7 @@ void helpAll(uint8_t mode, char prefix[])
}
}
void helpShowAvailableSubCommands(int maximumIndex, const char* commandKeywords[])
void helpShowAvailableSubCommands(int maximumIndex, PGM_P const commandKeywords[])
{
strncat(uart_message_string, message, BUFFER_SIZE -1) ;
strncat_P(uart_message_string, string_1x_, BUFFER_SIZE - 1 );
......
......@@ -21,7 +21,7 @@ enum helpMode
helpMode_MAXIMUM_NUMBER
};
extern const char* helpCommandKeywords[] PROGMEM;
extern const char* const helpCommandKeywords[] PROGMEM;
enum helpCommandKeyNumber
{
helpCommandKeyNumber_IMPLEMENTED = 0,
......@@ -32,7 +32,7 @@ enum helpCommandKeyNumber
void help(struct uartStruct *ptr_uartStruct);
void helpAll(uint8_t mode, char prefix[]);
void helpShowAvailableSubCommands(int maximumIndex, const char* commandKeywords[]);
void helpShowAvailableSubCommands(int maximumIndex, PGM_P const commandKeywords[]);
void helpShowCommandOrResponse(char* currentReceiveHeader, PGM_P modifier, PGM_P string, ...);
void (*helpShowCommandOrResponse_p)(char*, PGM_P, PGM_P, ...);
......
......@@ -33,7 +33,7 @@ static const char showCommandKeyword06[] PROGMEM = "watchdog_counter";
// { (int8_t(*)(struct uartStruct)) showUnusedMemStart, showCommandKeyword02 }
//};
const char* showCommandKeywords[] PROGMEM = {
const char* const showCommandKeywords[] PROGMEM = {
showCommandKeyword00,
showCommandKeyword01,
showCommandKeyword02,
......
......@@ -23,7 +23,7 @@ extern const showCommand_t showCommands[] PROGMEM;
*/
extern unsigned short unusedMemoryStart;
extern const char* showCommandKeywords[] PROGMEM;
extern const char* const showCommandKeywords[] PROGMEM;
enum cmdShowKeyNumber
{
commandShowKeyNumber_UNUSED_MEM_START = 0,
......
......@@ -72,7 +72,7 @@ static const char ce12[] PROGMEM = "CRC Error General";
static const char ce13[] PROGMEM = "Form Error General";
static const char ce14[] PROGMEM = "Acknowledgment Error General";
const char *can_error[] PROGMEM = { ce00, ce01, ce02, ce03, ce04, ce05, ce06, ce07, ce08, ce09, ce10, ce11, ce12, ce13, ce14 };
const char* const can_error[] PROGMEM = { ce00, ce01, ce02, ce03, ce04, ce05, ce06, ce07, ce08, ce09, ce10, ce11, ce12, ce13, ce14 };
/* pointer of array for defined mailbox error */
......@@ -80,7 +80,7 @@ static const char me00[] PROGMEM = "all mailboxes already in use";
static const char me01[] PROGMEM = "message ID not found";
static const char me02[] PROGMEM = "this message already exists";
const char *mob_error[] PROGMEM = { me00, me01, me02 };
const char* const mob_error[] PROGMEM = { me00, me01, me02 };
static const char cb00[] PROGMEM = "error active";
static const char cb01[] PROGMEM = "error passive";
......@@ -88,7 +88,7 @@ static const char cb02[] PROGMEM = "bus off";
static const char cb03[] PROGMEM = "can disabled";
static const char cb04[] PROGMEM = "undefined";
const char *canBusModes[] PROGMEM = { cb00, cb01, cb02, cb03, cb04 };
const char* const canBusModes[] PROGMEM = { cb00, cb01, cb02, cb03, cb04 };
/*
* canSubscribeMessage creates/sets a listener to an ID/mask for a free MOb
......
......@@ -53,7 +53,7 @@ enum canState {
canState_MAXIMUM_INDEX
};
extern const char *can_error[] PROGMEM;
extern const char* const can_error[] PROGMEM;
enum ce_index
{
CAN_ERROR_Bus_Off_Mode = 0,
......@@ -74,7 +74,7 @@ enum ce_index
CAN_ERROR_MAXIMUM_INDEX
};
extern const char *mob_error[] PROGMEM;
extern const char* const mob_error[] PROGMEM;
enum me_index
{
MOB_ERROR_all_mailboxes_already_in_use = 0,
......@@ -83,7 +83,7 @@ enum me_index
MOB_ERROR_MAXIMUM_INDEX
};
extern const char *canBusModes[] PROGMEM;
extern const char* const canBusModes[] PROGMEM;
enum canChannelModes
{
canChannelMode_ERROR_ACTIVE = 0,
......
......@@ -31,7 +31,7 @@ static const char owiApiCommandKeyword01[] PROGMEM = "common_adc_convert";
// { (int8_t(*)(struct uartStruct)) showUnusedMemStart, owiApiCommandKeyword02 }
//};
const char* owiApiCommandKeywords[] PROGMEM = {
const char* const owiApiCommandKeywords[] PROGMEM = {
owiApiCommandKeyword00,
owiApiCommandKeyword01};
......
......@@ -23,7 +23,7 @@ typedef struct {
extern const showCommand_t showCommands[] PROGMEM;
*/
extern unsigned short unusedMemoryStart;
extern const char* owiApiCommandKeywords[] PROGMEM;
extern const char* const owiApiCommandKeywords[] PROGMEM;
enum owiApiCommandKeyNumber
{
owiApiCommandKeyNumber_COMMON_TEMPERATURE_CONVERSION = 0,
......
......@@ -80,7 +80,7 @@ static const char owiTemperatureCommandKeyword04[] PROGMEM = "force_parasitic_mo
static const char owiTemperatureCommandKeyword05[] PROGMEM = "resolution_DS18B20"; /*TODO*/
static const char owiTemperatureCommandKeyword06[] PROGMEM = "single_parasitic_conv";
const char* owiTemperatureCommandKeywords[] PROGMEM = {
const char* const owiTemperatureCommandKeywords[] PROGMEM = {
owiTemperatureCommandKeyword00,
owiTemperatureCommandKeyword01,
owiTemperatureCommandKeyword02,
......
......@@ -56,7 +56,7 @@ enum errorCodes
eADCwrongAddress = 128
} ErrorCodes;
extern const char* owiTemperatureCommandKeywords[] PROGMEM;
extern const char* const owiTemperatureCommandKeywords[] PROGMEM;
enum owiTemperatureCommandKeyNumber
{
owiTemperatureCommandKeyNumber_CONVERT_ONLY = 0,
......
......@@ -58,7 +58,7 @@ static const char relayThresholdCommandKeyword27[] PROGMEM = "use_individual_thr
static const char relayThresholdCommandKeyword28[] PROGMEM = "extern_thr_ch_mask";
const char* relayThresholdCommandKeywords[] PROGMEM = {
const char* const relayThresholdCommandKeywords[] PROGMEM = {
relayThresholdCommandKeyword00,
relayThresholdCommandKeyword01,
relayThresholdCommandKeyword02,
......@@ -96,7 +96,7 @@ static const char relayThresholdStateString02[] PROGMEM = "INBETWEEN";
static const char relayThresholdStateString03[] PROGMEM = "OFF_BOUNDS";
static const char relayThresholdStateString04[] PROGMEM = "UNDEFINED";
const char* relayThresholdStateStrings[] PROGMEM = {
const char* const relayThresholdStateStrings[] PROGMEM = {
relayThresholdStateString00,
relayThresholdStateString01,
relayThresholdStateString02,
......
......@@ -53,7 +53,7 @@ enum relayThresholdInputSourceEnum
relayThresholdInputSource_MAXIMUM_INDEX
};
extern const char* relayThresholdStateStrings[] PROGMEM;
extern const char* const relayThresholdStateStrings[] PROGMEM;
enum relayThresholdStates
{
relayThresholdState_INIT,
......@@ -64,7 +64,7 @@ enum relayThresholdStates
relayThresholdState_MAXIMUM_NUMBER
};
extern const char* relayThresholdCommandKeywords[] PROGMEM;
extern const char* const relayThresholdCommandKeywords[] PROGMEM;
enum relayThresholdCommandKeyNumber
{
relayThresholdCommandKeyNumber_CURRENT_STATE = 0,
......
<?xml version="1.0" encoding="UTF-8"?>
<cdtprojectproperties>
<section name="org.eclipse.cdt.internal.ui.wizards.settingswizards.IncludePaths">
<language name="holder for library settings">
</language>
<language name="Assembly">
<includepath>/opt/cross/avr/avr/include</includepath>
<includepath>/opt/cross/avr/include</includepath>
<includepath>/opt/cross/avr/lib/gcc/avr/4.8.3/include</includepath>
</language>
<language name="GNU C++">
<includepath>/opt/cross/avr/avr/include</includepath>
<includepath>/opt/cross/avr/include</includepath>
<includepath>/opt/cross/avr/lib/gcc/avr/4.8.3/include</includepath>
</language>
<language name="GNU C">
<includepath>/opt/cross/avr/avr/include</includepath>
<includepath>/opt/cross/avr/include</includepath>
<includepath>/opt/cross/avr/lib/gcc/avr/4.8.3/include</includepath>
</language>
</section>
<section name="org.eclipse.cdt.internal.ui.wizards.settingswizards.Macros">
<language name="holder for library settings">
</language>
<language name="Assembly">
</language>
<language name="GNU C++">
</language>
<language name="GNU C">
</language>
</section>
</cdtprojectproperties>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment