Wiz-IO / platform-opencpu

Quectel OpenCPU for PlatformIO
17 stars 4 forks source link

Is it possible to assign priority to tasks? #3

Closed ASL07 closed 4 years ago

ASL07 commented 4 years ago

Hi,

Does OpenCPU allow to assign priority to user defined tasks? I am registering my tasks i custom_task_cfg.h but all of them end up having the same priority value (4)

Thanks

Wiz-IO commented 4 years ago

BC66? ... is not implemented

ASL07 commented 4 years ago

Yes, BC66 Thanks @Wiz-IO

Wiz-IO commented 4 years ago

if you want to experiment:

/ only for BC66NBR01A10 & SDK v1.5/ void ( vTaskPrioritySet)(void xTask, int uxNewPriority ) = (void ( )( void , int)) 0x08074745;

void * handle = Ql_OS_GetCurrentTaskHandle(); vTaskPrioritySet(handle, 5);

:)

ASL07 commented 4 years ago

Ql_OS_GetCurrentTaskHandle is undefined for this platform What SDK version is used for framework-quectel bc66?

Are we sure that vTaskPrioritySet() will allways be located at 0x08074745 ?

Wiz-IO commented 4 years ago

Ql_OS_GetCurrentTaskHandle() exist in OpenCPU v1.5 address is only for firmware BC66NBR01A10

ASL07 commented 4 years ago

Ok, I won't try implement the solution you proposed then, I want my code to work regardless of FW version.

Anyway, this is the error I am getting with the latest opencpu framework:

Processing bc66 (platform: quectel; board: bc66; framework: opencpu)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
<<<<<<<<<<<< QUECTEL BC66 MODULE 2018 Georgi Angelov >>>>>>>>>>>>
CONFIGURATION: https://docs.platformio.org/page/boards/quectel/bc66.html
PLATFORM: Quectel 2.0.14 #5dbec3f > Quectel BC66 module
HARDWARE: ARM, MT2625 78MHz, 97.66KB RAM, 195.31KB Flash
DEBUG: Current (uart) On-board (uart)
PACKAGES: 
 - framework-quectel b91f56c 
 - toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 0 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/bc66/src/tasks/get_temperature_task.o
Linking .pio/build/bc66/program.elf
.pio/build/bc66/src/tasks/get_temperature_task.o: In function `get_temperature_task':
/Users/developer/Code/opencpu/pioproject/src/tasks/get_temperature_task.c:77: undefined reference to `Ql_OS_GetCurrentTaskHandle'
Wiz-IO commented 4 years ago

Untitled

Wiz-IO commented 4 years ago

update :) https://github.com/Wiz-IO/platform-quectel/wiki/SDK-BC66

ASL07 commented 4 years ago

Great! Is it fixed in the new version? I will give it a try

ASL07 commented 4 years ago

if you want to experiment:

/ only for BC66NBR01A10 & SDK v1.5/ void ( vTaskPrioritySet)(void xTask, int uxNewPriority ) = (void ( )( void , int)) 0x08074745;

void * handle = Ql_OS_GetCurrentTaskHandle(); vTaskPrioritySet(handle, 5);

:)

I have tested this with BC66NBR01A10 & SDK v1.5 version and it works

Wiz-IO commented 4 years ago

:) this call is valid only for this firmware