III - Advanced Project » History » Version 28

COLIN, Tony, 12/14/2015 09:44 AM

1 25 COLIN, Tony
h1. III - Advanced Project.
2 1 COLIN, Tony
3 1 COLIN, Tony
{{>toc}}
4 1 COLIN, Tony
5 25 COLIN, Tony
h2. 1. Adapting project to elementary task.
6 1 COLIN, Tony
7 26 COLIN, Tony
See [[Wiki#"3. Creation of a simple MPLAB X IDE project"|Tutorial page]] for project bases.
8 25 COLIN, Tony
In this part, you will have to modify particular files of the previous Test/.
9 1 COLIN, Tony
10 26 COLIN, Tony
h3. 1.1 Integration of C Source files into task(s).
11 25 COLIN, Tony
12 27 COLIN, Tony
* *task_name.c* stating _void task_name (void) { ... }_.
13 26 COLIN, Tony
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).
14 25 COLIN, Tony
15 27 COLIN, Tony
* *task_name.h* stating _extern void task_name (void);_ and other intern functions.
16 25 COLIN, Tony
17 26 COLIN, Tony
h3. 1.2 Definition of your task(s) to be called.
18 25 COLIN, Tony
19 28 COLIN, Tony
* *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 is available on Salvo User Manual.
20 25 COLIN, Tony
21 27 COLIN, Tony
* *task_cmd.c* which is a tool provided by Test/ that allows to resume/stop your task(s).
22 1 COLIN, Tony
!task_cmd.png!
23 25 COLIN, Tony
24 28 COLIN, Tony
* *main.c* i.e. the basic implementation to call your task(s). All statements are essential for Salvo and CSK to work.
25 24 COLIN, Tony
!main.png!
26 1 COLIN, Tony
27 1 COLIN, Tony
---
28 1 COLIN, Tony
29 25 COLIN, Tony
h2. 2. Integration of a Reed-Solomon encoder/decoder.
30 1 COLIN, Tony
31 25 COLIN, Tony
A highly convenient implementation of a Reed-Solomon code is available on "RS Code Website":http://rscode.sourceforge.net/ and will be integrated in the following.
32 1 COLIN, Tony
33 1 COLIN, Tony
h3. 2.1 Presentation of Reed-Solomon.
34 28 COLIN, Tony
35 28 COLIN, Tony
More information is available on attachment:rs.doc and attachment:config.doc.
36 1 COLIN, Tony
37 25 COLIN, Tony
h3. 2.2 Task Example.
38 1 COLIN, Tony
39 25 COLIN, Tony
---
40 1 COLIN, Tony
41 25 COLIN, Tony
h2. 3. Displaying results.
42 1 COLIN, Tony
43 25 COLIN, Tony
h3. 3.1 In simulation.
44 17 COLIN, Tony
45 20 COLIN, Tony
p=. !CodingWin3.png!
46 1 COLIN, Tony
*Message of 87 characters*
47 17 COLIN, Tony
48 20 COLIN, Tony
p=. !CodingWin2.png!
49 1 COLIN, Tony
*Code of adding errors*
50 17 COLIN, Tony
51 20 COLIN, Tony
p=. !UART1.png!
52 1 COLIN, Tony
*Checking Output UART Window*
53 1 COLIN, Tony
54 1 COLIN, Tony
p=. !CodingWin1.png!
55 17 COLIN, Tony
*Displayed result*
56 20 COLIN, Tony
57 25 COLIN, Tony
h3. 3.2 On board.
58 17 COLIN, Tony
59 17 COLIN, Tony
|_.-                    |_.Char       |_.Code ASCII  |_.Hexadecimal |_. Binary       |
60 15 COLIN, Tony
|_.Codeword             |=. 2         |=. 50         |=. 0x32       |   0b00110010   |
61 15 COLIN, Tony
|_.Erroneous Codeword   |=. 3         |=. 51         |=. 0x33       |   0b00110011   |
62 2 COLIN, Tony
63 15 COLIN, Tony
!LEDs_resized.png! !LEDs_error_resized.png! !LEDs_resized.png!
64 7 COLIN, Tony
__________________ *a. Codeword : 0bXX110010* ________________________ *b. Erroneous codeword : 0bXX110011* ____________________ *c. Corrected codeword : 0bXX110010* ______________
65 22 COLIN, Tony
66 25 COLIN, Tony
---
67 1 COLIN, Tony
68 25 COLIN, Tony
h2. 4. Measurement of encoding/decoding time.
69 6 COLIN, Tony
70 23 COLIN, Tony
p=. !Clock1.png!
71 23 COLIN, Tony
*1000 ticks per milliseconds*
72 1 COLIN, Tony
73 23 COLIN, Tony
p=. !Clock2.png!
74 23 COLIN, Tony
*Time measurement of data encoding*
75 23 COLIN, Tony
76 23 COLIN, Tony
p=. !Clock3.png!
77 23 COLIN, Tony
*Printing clock data*
78 23 COLIN, Tony
79 1 COLIN, Tony
p=. !Time_RS_resized.PNG!
80 23 COLIN, Tony
*Chart of Reed Solomon time measurement*