Hello, my project is bases on:
- Concerto F28M36 (master / CortexM3)
- CCS5.5
- TI-RTOS 1.21, including SYS/BIOS 6.37, NDK 2.23
The TI-RTOS including SYS/BIOS and NDK is all configured statically using XGCONF.
The project uses a telnet server. I realized that with a static Telnet instance inside XGCONF (under NDK->Application Layer->Telnet) and basically just used the example from
C:\ti\tirtos_1_21_00_09\products\ndk_2_23_01_01\packages\ti\ndk\tools\console\console.c
while renaming the symbols/identifiers in that file.
This works fine. I added a new telnet command "trace" that enters a loop to continuously send trace data over the telnet link (approx 1 kHz). Now I need to stop that cyclic emission on escape. This is where I have a problem: I obviously cannot use ConGetCh, since this is a blocking function. I tried to start a new task from the telnet task and call ConGetCh from there, but it crashes the telnet server. The new task's priority is OS_TASKPRILOW, which equals 3 by standard (lowest prio of the project). The telnet task is OS_TASKPRINORM, which equals 5 (second lowest prio of the project).
The new task calls ConGetCh in an endless loop and does not call Task_sleep, since it is the lowest priority task. The telnet task calls Task_Sleep(1ms) to allow execution of the ConGetCh task. When ConGetCh returns an escape char, the new task indicates this to the telnet task and exits (by returning).
Question 1) From a conceptional point of view, is what I'm trying to do possible ? I only use standard code, coming from the example file console.c. Is the NDK telnet module capable of receiving a message while sending frames ?
Question 2) If basically it's possible, what would be the proper way to do this.
Thanks a lot in advance.
Best regards,
Frank