III - Advanced Project » History » Version 27

« Previous - Version 27/59 (diff) - Next » - Current version
COLIN, Tony, 12/14/2015 09:37 AM


III - Advanced Project.

1. Adapting project to elementary task.

See Tutorial page for project bases.
In this part, you will have to modify particular files of the previous Test/.

1.1 Integration of C Source files into task(s).

  • task_name.c stating void task_name (void) { ... }.
    Here you can either call the C main function in the task_name function or adapting your main file into one or several tasks (for simultaneity during process).
  • task_name.h stating extern void task_name (void); and other intern functions.

1.2 Definition of your task(s) to be called.

  • tasks.h defining OSTCBP of all predifined tasks i.e. the way of specifying a pointer to a particular Salvo Task Control Block. More information available on Salvo User Manual.
  • task_cmd.c which is a tool provided by Test/ that allows to resume/stop your task(s).
  • main.c i.e. the basic implementation to call your task(s). All statements are essential for Salvo to work.

2. Integration of a Reed-Solomon encoder/decoder.

A highly convenient implementation of a Reed-Solomon code is available on RS Code Website and will be integrated in the following.

2.1 Presentation of Reed-Solomon.

2.2 Task Example.


3. Displaying results.

3.1 In simulation.


Message of 87 characters


Code of adding errors


Checking Output UART Window


Displayed result

3.2 On board.

- Char Code ASCII Hexadecimal Binary
Codeword 2 50 0x32 0b00110010
Erroneous Codeword 3 51 0x33 0b00110011


__________ a. Codeword : 0bXX110010 ________________ b. Erroneous codeword : 0bXX110011 ____________ c. Corrected codeword : 0bXX110010 ______


4. Measurement of encoding/decoding time.


1000 ticks per milliseconds


Time measurement of data encoding


Printing clock data


Chart of Reed Solomon time measurement