diff --git a/.cproject b/.cproject
index 5d86c67..bc34269 100644
--- a/.cproject
+++ b/.cproject
@@ -63,6 +63,13 @@
+
+
+
+
+
@@ -90,12 +97,18 @@
+
+
+
+
+
+
diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
index 01aaf56..0cd9749 100644
--- a/.settings/language.settings.xml
+++ b/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/sdk/chip/zgpio.cpp b/sdk/chip/zgpio.cpp
index cd684ee..32ffd51 100644
--- a/sdk/chip/zgpio.cpp
+++ b/sdk/chip/zgpio.cpp
@@ -119,7 +119,7 @@ bool ZGPIO::enableClock(GPIO_TypeDef *port) {
return false;
}
-bool ZGPIO::enableClock() { enableClock(m_gpio); }
+bool ZGPIO::enableClock() { return enableClock(m_gpio); }
void regIRQGPIO(ZGPIO *gpio) {
for (int i = 0; i < s_irqGPIO_num; i++) {
diff --git a/sdk/components/tmc/helpers/Functions.c b/sdk/components/tmc/helpers/Functions.c
index e2d224f..fd53f23 100644
--- a/sdk/components/tmc/helpers/Functions.c
+++ b/sdk/components/tmc/helpers/Functions.c
@@ -1,170 +1,170 @@
-/*
- * Functions.c
- *
- * Created on: 23.07.2018
- * Author: ed
- */
-#include "Functions.h"
-
-int32_t tmc_limitInt(int32_t value, int32_t min, int32_t max)
-{
- if (value > max)
- return max;
- else if (value < min)
- return min;
- else
- return value;
-}
-
-int64_t tmc_limitS64(int64_t value, int64_t min, int64_t max)
-{
- if (value > max)
- return max;
- else if (value < min)
- return min;
- else
- return value;
-}
-
-/* lookup table for square root function */
-static const unsigned char sqrttable[256] =
-{
- 0, 16, 22, 27, 32, 35, 39, 42, 45, 48, 50, 53, 55, 57, 59, 61,
- 64, 65, 67, 69, 71, 73, 75, 76, 78, 80, 81, 83, 84, 86, 87, 89,
- 90, 91, 93, 94, 96, 97, 98, 99, 101, 102, 103, 104, 106, 107, 108, 109,
- 110, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 128, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 144, 145, 146, 147, 148, 149, 150, 150, 151, 152, 153, 154, 155, 155,
- 156, 157, 158, 159, 160, 160, 161, 162, 163, 163, 164, 165, 166, 167, 167, 168,
- 169, 170, 170, 171, 172, 173, 173, 174, 175, 176, 176, 177, 178, 178, 179, 180,
- 181, 181, 182, 183, 183, 184, 185, 185, 186, 187, 187, 188, 189, 189, 190, 191,
- 192, 192, 193, 193, 194, 195, 195, 196, 197, 197, 198, 199, 199, 200, 201, 201,
- 202, 203, 203, 204, 204, 205, 206, 206, 207, 208, 208, 209, 209, 210, 211, 211,
- 212, 212, 213, 214, 214, 215, 215, 216, 217, 217, 218, 218, 219, 219, 220, 221,
- 221, 222, 222, 223, 224, 224, 225, 225, 226, 226, 227, 227, 228, 229, 229, 230,
- 230, 231, 231, 232, 232, 233, 234, 234, 235, 235, 236, 236, 237, 237, 238, 238,
- 239, 240, 240, 241, 241, 242, 242, 243, 243, 244, 244, 245, 245, 246, 246, 247,
- 247, 248, 248, 249, 249, 250, 250, 251, 251, 252, 252, 253, 253, 254, 254, 255
-};
-
-int32_t tmc_sqrti(int32_t x)
-{
- int32_t xn;
-
- // Negative parameter?
- if (x < 0)
- return -1;
-
- if (x < 0x0100)
- return (int) sqrttable[x] >> 4;
-
- if (x >= 0x00010000)
- {
- if (x >= 0x01000000)
- {
- if (x >= 0x10000000)
- {
- if (x >= 0x40000000)
- {
- // 0x40000000 <= x < 0x7FFFFFFF
- xn = (int) sqrttable[x >> 24] << 8;
- }
- else
- {
- // 0x10000000 <= x < 0x40000000
- xn = (int) sqrttable[x >> 22] << 7;
- }
- }
- else
- {
- if (x >= 0x04000000)
- {
- // 0x04000000 <= x < 0x10000000
- xn = (int) sqrttable[x >> 20] << 6;
- }
- else
- {
- // 0x01000000 <= x < 0x04000000
- xn = (int) sqrttable[x >> 18] << 5;
- }
- }
-
- // Two steps of the babylonian method
- xn = (xn + 1 + (x / xn)) >> 1;
- xn = (xn + 1 + (x / xn)) >> 1;
- }
- else
- {
- if (x >= 0x00100000)
- {
- if (x >= 0x00400000)
- {
- // 0x00400000 <= x < 0x01000000
- xn = (int) sqrttable[x >> 16] << 4;
- }
- else
- {
- // 0x00100000 <= x < 0x00400000
- xn = (int) sqrttable[x >> 14] << 3;
- }
- }
- else
- {
- if (x >= 0x00040000)
- {
- // 0x00040000 <= x < 0x00100000
- xn = (int) sqrttable[x >> 12] << 2;
- }
- else
- {
- // 0x00010000 <= x < 0x00040000
- xn = (int) sqrttable[x >> 10] << 1;
- }
- }
-
- // One step of the babylonian method
- xn = (xn + 1 + (x / xn)) >> 1;
- }
- }
- else
- {
- if (x >= 0x1000)
- {
- if (x >= 0x4000)
- {
- // 0x4000 <= x < 0x00010000
- xn = (int) (sqrttable[x >> 8] ) + 1;
- }
- else
- {
- // 0x1000 <= x < 0x4000
- xn = (int) (sqrttable[x >> 6] >> 1) + 1;
- }
- }
- else
- {
- if (x >= 0x0400)
- {
- // 0x0400 <= x < 0x1000
- xn = (int) (sqrttable[x >> 4] >> 2) + 1;
- }
- else
- {
- // 0x0100 <= x < 0x0400
- xn = (int) (sqrttable[x >> 2] >> 3) + 1;
- }
- }
- }
-
- // Make sure that our result is floored
- if ((xn * xn) > x)
- xn--;
-
- return xn;
-}
-
-int32_t tmc_filterPT1(int64_t *akku, int32_t newValue, int32_t lastValue, uint8_t actualFilter, uint8_t maxFilter)
-{
- *akku += (newValue-lastValue) << (maxFilter-actualFilter);
- return *akku >> maxFilter;
-}
+///*
+// * Functions.c
+// *
+// * Created on: 23.07.2018
+// * Author: ed
+// */
+//#include "Functions.h"
+//
+//int32_t tmc_limitInt(int32_t value, int32_t min, int32_t max)
+//{
+// if (value > max)
+// return max;
+// else if (value < min)
+// return min;
+// else
+// return value;
+//}
+//
+//int64_t tmc_limitS64(int64_t value, int64_t min, int64_t max)
+//{
+// if (value > max)
+// return max;
+// else if (value < min)
+// return min;
+// else
+// return value;
+//}
+//
+///* lookup table for square root function */
+//static const unsigned char sqrttable[256] =
+//{
+// 0, 16, 22, 27, 32, 35, 39, 42, 45, 48, 50, 53, 55, 57, 59, 61,
+// 64, 65, 67, 69, 71, 73, 75, 76, 78, 80, 81, 83, 84, 86, 87, 89,
+// 90, 91, 93, 94, 96, 97, 98, 99, 101, 102, 103, 104, 106, 107, 108, 109,
+// 110, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+// 128, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
+// 143, 144, 144, 145, 146, 147, 148, 149, 150, 150, 151, 152, 153, 154, 155, 155,
+// 156, 157, 158, 159, 160, 160, 161, 162, 163, 163, 164, 165, 166, 167, 167, 168,
+// 169, 170, 170, 171, 172, 173, 173, 174, 175, 176, 176, 177, 178, 178, 179, 180,
+// 181, 181, 182, 183, 183, 184, 185, 185, 186, 187, 187, 188, 189, 189, 190, 191,
+// 192, 192, 193, 193, 194, 195, 195, 196, 197, 197, 198, 199, 199, 200, 201, 201,
+// 202, 203, 203, 204, 204, 205, 206, 206, 207, 208, 208, 209, 209, 210, 211, 211,
+// 212, 212, 213, 214, 214, 215, 215, 216, 217, 217, 218, 218, 219, 219, 220, 221,
+// 221, 222, 222, 223, 224, 224, 225, 225, 226, 226, 227, 227, 228, 229, 229, 230,
+// 230, 231, 231, 232, 232, 233, 234, 234, 235, 235, 236, 236, 237, 237, 238, 238,
+// 239, 240, 240, 241, 241, 242, 242, 243, 243, 244, 244, 245, 245, 246, 246, 247,
+// 247, 248, 248, 249, 249, 250, 250, 251, 251, 252, 252, 253, 253, 254, 254, 255
+//};
+//
+//int32_t tmc_sqrti(int32_t x)
+//{
+// int32_t xn;
+//
+// // Negative parameter?
+// if (x < 0)
+// return -1;
+//
+// if (x < 0x0100)
+// return (int) sqrttable[x] >> 4;
+//
+// if (x >= 0x00010000)
+// {
+// if (x >= 0x01000000)
+// {
+// if (x >= 0x10000000)
+// {
+// if (x >= 0x40000000)
+// {
+// // 0x40000000 <= x < 0x7FFFFFFF
+// xn = (int) sqrttable[x >> 24] << 8;
+// }
+// else
+// {
+// // 0x10000000 <= x < 0x40000000
+// xn = (int) sqrttable[x >> 22] << 7;
+// }
+// }
+// else
+// {
+// if (x >= 0x04000000)
+// {
+// // 0x04000000 <= x < 0x10000000
+// xn = (int) sqrttable[x >> 20] << 6;
+// }
+// else
+// {
+// // 0x01000000 <= x < 0x04000000
+// xn = (int) sqrttable[x >> 18] << 5;
+// }
+// }
+//
+// // Two steps of the babylonian method
+// xn = (xn + 1 + (x / xn)) >> 1;
+// xn = (xn + 1 + (x / xn)) >> 1;
+// }
+// else
+// {
+// if (x >= 0x00100000)
+// {
+// if (x >= 0x00400000)
+// {
+// // 0x00400000 <= x < 0x01000000
+// xn = (int) sqrttable[x >> 16] << 4;
+// }
+// else
+// {
+// // 0x00100000 <= x < 0x00400000
+// xn = (int) sqrttable[x >> 14] << 3;
+// }
+// }
+// else
+// {
+// if (x >= 0x00040000)
+// {
+// // 0x00040000 <= x < 0x00100000
+// xn = (int) sqrttable[x >> 12] << 2;
+// }
+// else
+// {
+// // 0x00010000 <= x < 0x00040000
+// xn = (int) sqrttable[x >> 10] << 1;
+// }
+// }
+//
+// // One step of the babylonian method
+// xn = (xn + 1 + (x / xn)) >> 1;
+// }
+// }
+// else
+// {
+// if (x >= 0x1000)
+// {
+// if (x >= 0x4000)
+// {
+// // 0x4000 <= x < 0x00010000
+// xn = (int) (sqrttable[x >> 8] ) + 1;
+// }
+// else
+// {
+// // 0x1000 <= x < 0x4000
+// xn = (int) (sqrttable[x >> 6] >> 1) + 1;
+// }
+// }
+// else
+// {
+// if (x >= 0x0400)
+// {
+// // 0x0400 <= x < 0x1000
+// xn = (int) (sqrttable[x >> 4] >> 2) + 1;
+// }
+// else
+// {
+// // 0x0100 <= x < 0x0400
+// xn = (int) (sqrttable[x >> 2] >> 3) + 1;
+// }
+// }
+// }
+//
+// // Make sure that our result is floored
+// if ((xn * xn) > x)
+// xn--;
+//
+// return xn;
+//}
+//
+//int32_t tmc_filterPT1(int64_t *akku, int32_t newValue, int32_t lastValue, uint8_t actualFilter, uint8_t maxFilter)
+//{
+// *akku += (newValue-lastValue) << (maxFilter-actualFilter);
+// return *akku >> maxFilter;
+//}
diff --git a/sdk/components/tmc/helpers/Functions.h b/sdk/components/tmc/helpers/Functions.h
index f5e871d..373e9b1 100644
--- a/sdk/components/tmc/helpers/Functions.h
+++ b/sdk/components/tmc/helpers/Functions.h
@@ -1,18 +1,18 @@
-/*
- * Functions.h
- *
- * Created on: 23.07.2018
- * Author: ed
- */
-
-#ifndef TMC_FUNCTIONS_H_
-#define TMC_FUNCTIONS_H_
-
-#include "API_Header.h"
-
-int32_t tmc_limitInt(int32_t value, int32_t min, int32_t max);
-int64_t tmc_limitS64(int64_t value, int64_t min, int64_t max);
-int32_t tmc_sqrti(int32_t x);
-int32_t tmc_filterPT1(int64_t *akku, int32_t newValue, int32_t lastValue, uint8_t actualFilter, uint8_t maxFilter);
-
-#endif /* TMC_FUNCTIONS_H_ */
+///*
+// * Functions.h
+// *
+// * Created on: 23.07.2018
+// * Author: ed
+// */
+//
+//#ifndef TMC_FUNCTIONS_H_
+//#define TMC_FUNCTIONS_H_
+//
+//#include "API_Header.h"
+//
+//int32_t tmc_limitInt(int32_t value, int32_t min, int32_t max);
+//int64_t tmc_limitS64(int64_t value, int64_t min, int64_t max);
+//int32_t tmc_sqrti(int32_t x);
+//int32_t tmc_filterPT1(int64_t *akku, int32_t newValue, int32_t lastValue, uint8_t actualFilter, uint8_t maxFilter);
+//
+//#endif /* TMC_FUNCTIONS_H_ */
diff --git a/usrc/subboards/subboard90_optical_module/optical_module_v2.cpp b/usrc/subboards/subboard90_optical_module/optical_module_v2.cpp
index 68807d6..e0bf1f4 100644
--- a/usrc/subboards/subboard90_optical_module/optical_module_v2.cpp
+++ b/usrc/subboards/subboard90_optical_module/optical_module_v2.cpp
@@ -405,7 +405,7 @@ int32_t OpticalModuleV2::start_barcode_scan(int32_t lasterGain, int32_t scanGain
int32_t OpticalModuleV2::dumpresult() {
for (int32_t i = 0; i < adc_capture_point_num; i++) {
- printf("%d,%d", i, adc_capture_buf[i]);
+ printf("%ld,%d", i, adc_capture_buf[i]);
if (i != 0 && i % 5 == 0)
printf("\n");
else {
diff --git a/usrc/sysmgr/sys_mgr.cpp b/usrc/sysmgr/sys_mgr.cpp
index 8a8e1c2..d23ab23 100644
--- a/usrc/sysmgr/sys_mgr.cpp
+++ b/usrc/sysmgr/sys_mgr.cpp
@@ -1,15 +1,15 @@
#include "sys_mgr.hpp"
-#include "sdk/os/zos.hpp"
-#include "project_configs.h"
#include
#include
+#include "project_configs.h"
+#include "sdk/os/zos.hpp"
+
using namespace iflytop;
#define TAG "SysMgr"
-
extern "C" {
/***********************************************************************************************************************
@@ -108,10 +108,11 @@ void SysMgr::osTaskName(osThreadId id, char* name, int bufsize) {
strncpy(name, pcTaskGetName(id), bufsize);
name[bufsize - 1] = 0;
}
-void SysMgr::osTaskStackRemainingSize(osThreadId id, uint16_t* remainsize) { *remainsize = uxTaskGetStackHighWaterMark(id); }
-void SysMgr::osTaskPriority(osThreadId id, uint16_t* priority) { *priority = uxTaskPriorityGet(id); }
+void SysMgr::osTaskStackRemainingSize(osThreadId id, unsigned long* remainsize) { *remainsize = uxTaskGetStackHighWaterMark(id); }
+void SysMgr::osTaskPriority(osThreadId id, unsigned long* priority) { *priority = uxTaskPriorityGet(id); }
void SysMgr::osTaskGetState(osThreadId id, char* state) {
eTaskState task_state = eTaskGetState(id);
+
switch (task_state) {
case eRunning:
*state = 'X';
@@ -128,6 +129,9 @@ void SysMgr::osTaskGetState(osThreadId id, char* state) {
case eDeleted:
*state = 'D';
break;
+ case eInvalid:
+ *state = '?';
+ break;
default:
*state = '?';
break;
diff --git a/usrc/sysmgr/sys_mgr.hpp b/usrc/sysmgr/sys_mgr.hpp
index 6207539..ac3ba32 100644
--- a/usrc/sysmgr/sys_mgr.hpp
+++ b/usrc/sysmgr/sys_mgr.hpp
@@ -39,8 +39,8 @@ class SysMgr {
const char* osTaskName(osThreadId id);
void osTaskName(osThreadId id, char* name, int bufsize);
- void osTaskStackRemainingSize(osThreadId id, uint16_t* remainsize);
- void osTaskPriority(osThreadId id, uint16_t* priority);
+ void osTaskStackRemainingSize(osThreadId id, unsigned long* remainsize);
+ void osTaskPriority(osThreadId id, unsigned long* priority);
void osTaskGetState(osThreadId id, char* state);
int32_t getTaskNum();
diff --git a/usrc/version.h b/usrc/version.h
index e516517..69b703e 100644
--- a/usrc/version.h
+++ b/usrc/version.h
@@ -1,2 +1,2 @@
#pragma once
-#define APP_VERSION 1024
+#define APP_VERSION 1025