Updated the monthNumTo3LetterAbbreviation function, it is no more needed to declare a buffer to store the 3 letters, instead a uint32_t is used
This commit is contained in:
parent
48991fe12e
commit
2b0698c7d0
@ -72,16 +72,17 @@ char *lastIndexOf(char *str, const char character)
|
|||||||
* The monthNumTo3LetterAbbreviation function takes the month number from 1 to 12 and returns the abbreviation in a 3 letter
|
* The monthNumTo3LetterAbbreviation function takes the month number from 1 to 12 and returns the abbreviation in a 3 letter
|
||||||
* format.
|
* format.
|
||||||
*/
|
*/
|
||||||
char *monthNumTo3LetterAbbreviation(char *buffer, const uint8_t monthNumber)
|
uint32_t monthNumTo3LetterAbbreviation(const uint8_t monthNumber)
|
||||||
{
|
{
|
||||||
static const char monthArray[][4] = {{"Jan"},{"Feb"},{"Mar"},{"Apr"},{"May"},{"Jun"},{"Jul"},{"Aug"},{"Sep"},{"Oct"},{"Nov"},{"Dec"}};
|
/**
|
||||||
|
* This array contains months as 3 letter abbreviations
|
||||||
if(buffer == NULL) return NULL;
|
* Jan is written \0naJ and in hex : 0x006E614A an so on. They are thus 4Bytes aligned and easy to put and read back from prog mem :)
|
||||||
|
*/
|
||||||
|
static const uint32_t PROGMEM monthArray[] = {0x6E614A, 0x626546, 0x72614D, 0x727041, 0x79614D, 0x6E754A, 0x6C754A, 0x677541, 0x706553, 0x74634F, 0x766f4E, 0x636544};
|
||||||
|
uint32_t toReturn(0x6E614A); //Default to Jan.
|
||||||
|
|
||||||
if(monthNumber >= 1 && monthNumber <= 12)
|
if(monthNumber >= 1 && monthNumber <= 12)
|
||||||
strcpy_P(buffer, monthArray[monthNumber-1]);
|
toReturn = monthArray[monthNumber - 1];
|
||||||
else //If the month number is garbage, we return the first month of the year
|
|
||||||
strcpy_P(buffer, monthArray[0]);
|
|
||||||
|
|
||||||
return buffer;
|
return toReturn;
|
||||||
}
|
}
|
||||||
|
@ -57,6 +57,6 @@ char *lastIndexOf(char *str, const char character);
|
|||||||
|
|
||||||
char *dateTimeFormater(char *pointer, const uint8_t value, const char character);
|
char *dateTimeFormater(char *pointer, const uint8_t value, const char character);
|
||||||
|
|
||||||
char *monthNumTo3LetterAbbreviation(char *month, const uint8_t monthNumber);
|
uint32_t monthNumTo3LetterAbbreviation(const uint8_t monthNumber);
|
||||||
|
|
||||||
#endif //DEFINITION_H
|
#endif //DEFINITION_H
|
||||||
|
Loading…
Reference in New Issue
Block a user