Go to the documentation of this file.
47 #ifndef __KETCUBE_COMMON_H
48 #define __KETCUBE_COMMON_H
52 #include "stm32l0xx_hal.h"
53 #include "stm32l0xx_hal_gpio.h"
81 #define KETCUBE_COMMON_BUFFER_LEN 256
94 if ((
byte & 0x0F) < 10) {
95 str[1] = (
byte & 0x0F) +
'0';
97 str[1] = (
byte & 0x0F) - 10 +
'A';
100 if (((
byte & 0xF0) >> 4) < 10) {
101 str[0] = ((
byte & 0xF0) >> 4) +
'0';
103 str[0] = ((
byte & 0xF0) >> 4) - 10 +
'A';
126 while (number != 0 && pos < len) {
130 str[pos++] =
'0' + rem;
133 for (
int rem = 0; rem < pos / 2; rem++) {
135 str[rem] = str[pos - 1 - rem];
136 str[pos - 1 - rem] = tmp;
155 for (i = 0; i < len; i++) {
156 if ((str[i] >=
'A') && (str[i] <=
'F')) {
158 }
else if ((str[i] >=
'a') && (str[i] <=
'f')) {
160 }
else if ((str[i] >=
'0') && (str[i] <=
'9')) {
183 for (i = 0; i < len && str[i] !=
'\0'; i++) {
184 if ((str[i] <
'0') || (str[i] >
'9'))
203 if ((c >=
'0') && (c <=
'9')) {
204 return (c -
'0') & 0x0F;
205 }
else if ((c >=
'A') && (c <=
'F')) {
206 return (c -
'A' + 10) & 0x0F;
207 }
else if ((c >=
'a') && (c <=
'f')) {
208 return (c -
'a' + 10) & 0x0F;
227 uint8_t i = 0, j = 0;
228 uint8_t conv0, conv1;
234 for (i = 0; i < (len - 1); i += 2, j++) {
238 if ((conv0 < 0x10) && ((conv1 < 0x10))) {
239 bytes[j] = (conv0 << 4) | conv1;
246 if (i == (len - 1)) {
250 bytes[j] = conv0 << 4;
269 uint8_t sign =
FALSE;
284 for (pos = 0; pos < len && str[pos] !=
'\0'; pos++) {
286 *output += str[pos] -
'0';
343 for (i = 0; i < size - 1; i++) {
344 for (j = 0; j < size - 1 - i; j++) {
345 if (values[j] < values[j + 1]) {
347 values[j] = values[j + 1];
353 return (uint16_t) values[size / 2];
370 for (i = 0; i < size - 1; i++) {
371 for (j = 0; j < size - 1 - i; j++) {
372 if (values[j] < values[j + 1]) {
374 values[j] = values[j + 1];
380 return (uint32_t) values[size / 2];
398 for (i = 0; i < size; i++) {
399 if (values[i] > max) {
422 for (i = 0; i < size; i++) {
423 if (values[i] < min) {
446 for (i = 0; i < size; i++) {
450 result = result / size;
452 return (uint16_t) result;
468 return ((n >> 8) | (n << 8));
483 #ifndef DESKTOP_BUILD
#define TRUE
boolean TRUE
Definition: ketCube_common.h:69
static uint16_t ketCube_common_Med(uint16_t *values, uint16_t size)
Return median from an array of shorts.
Definition: ketCube_common.h:338
char * ketCube_common_bytes2Str(uint8_t *byteArr, uint8_t len)
Definition: ketCube_common.c:60
#define FALSE
boolean FALSE
Definition: ketCube_common.h:70
static uint32_t ketCube_common_Max32(uint32_t *values, uint32_t size)
Return max from an array of ints.
Definition: ketCube_common.h:392
static bool ketCube_common_IsHexString(const char *str, uint8_t len)
Test if the string is valid HEX string.
Definition: ketCube_common.h:151
static uint8_t ketCube_common_Hex2Val(const char c)
Convert HEX char to Int (Byte)
Definition: ketCube_common.h:201
KETCube project-speciffic common definitions.
static void ketCube_common_Int2dec(int32_t number, char *str, int len)
Convert an integer to DEC string (with defined length, counting zero terminator)
Definition: ketCube_common.h:114
static uint32_t ketCube_common_Med32(uint32_t *values, uint32_t size)
Return median from an array of shorts.
Definition: ketCube_common.h:365
static void ketCube_common_Byte2hex(uint8_t byte, char *str)
Convert a single Byte to HEX string (two bytes)
Definition: ketCube_common.h:92
uint8_t byte
Definition: ketCube_common.h:77
static void ketCube_common_Dec2int(int32_t *output, const char *str, uint8_t len)
Convert DEC string to 4 byte signed integer.
Definition: ketCube_common.h:266
void KETCube_ErrorHandler(void)
static void ketCube_common_Hex2Bytes(uint8_t *bytes, const char *str, uint8_t len)
Convert HEX string to Byte array.
Definition: ketCube_common.h:224
static bool ketCube_common_IsDecString(const char *str, uint8_t len)
Test if the string is valid DEC string.
Definition: ketCube_common.h:179
static void ketCube_common_BasicErrorHandler()
Basic Error Handler.
Definition: ketCube_common.h:474
static uint16_t ketCube_common_Avg(uint16_t *values, uint16_t size)
Return median from an array of shorts.
Definition: ketCube_common.h:440
static uint16_t ketCube_common_swapW(uint16_t n)
Swap word (16-bit) values.
Definition: ketCube_common.h:466
static uint8_t ketCube_common_Max(uint8_t a, uint8_t b)
Return maximum of two bytes.
Definition: ketCube_common.h:320
char ketCube_common_buffer[]
Definition: ketCube_common.c:47
static uint8_t ketCube_common_Min(uint8_t a, uint8_t b)
Return minimum of two bytes.
Definition: ketCube_common.h:303
static uint32_t ketCube_common_Min32(uint32_t *values, uint32_t size)
Return max from an array of ints.
Definition: ketCube_common.h:416