This shows you the differences between two versions of the page.
milestone_1 [2022/12/31 14:05] scott [Queue Coding Help] |
milestone_1 [2023/01/13 16:21] (current) scott [Requirements] |
||
---|---|---|---|
Line 19: | Line 19: | ||
- Write your own queue code. Don't download code from the internet, it may have bugs in it. Also, since this queue module has extra functions that are not typically included in a queue implementation, things will just go faster and easier if you write the code yourselves. | - Write your own queue code. Don't download code from the internet, it may have bugs in it. Also, since this queue module has extra functions that are not typically included in a queue implementation, things will just go faster and easier if you write the code yourselves. | ||
- Your queue code must pass the provided queue_runTest() test. | - Your queue code must pass the provided queue_runTest() test. | ||
- | - You must follow the same [[http://byu-cpe.github.io/ecen330/other/coding-standard/|coding standards]] as was done for ECEN 330. | + | - You must follow the same [[http://byu-cpe.github.io/ecen330/other/coding-standard/|coding standards]] as was done for ECEN 330. **Exception: clang-format is not required. Ignore any clang-format rules.** |
---- | ---- | ||
Line 32: | Line 32: | ||
==== Queue Coding Help ==== | ==== Queue Coding Help ==== | ||
* [[malloc_and_queue|How to use malloc and pointers in 'C' with the queue]]. | * [[malloc_and_queue|How to use malloc and pointers in 'C' with the queue]]. | ||
- | * [[queue_and_array|Using an array to implement a queue.]] | ||
* [[queue_resources|Queue Code Sketch]]. | * [[queue_resources|Queue Code Sketch]]. | ||
+ | * [[http://en.wikipedia.org/wiki/Circular_buffer|Circular Buffer]] | ||
==== Source Code ==== | ==== Source Code ==== | ||
- | Note that the source code for each of these files is part of your project directory (ecen390). | + | Note that the following files are provided in your ecen390 project directory. The test code is used to check the correctness of your code. |
* lasertag/main.c | * lasertag/main.c | ||
* lasertag/queue.h | * lasertag/queue.h | ||
- | * lasertag/queue_test.h | + | * lasertag/support/queueTest.h |
- | * lasertag/queue_test.c | + | * lasertag/support/queueTest.c |
+ | |||
+ | You are expected to create and implement the following file. See the provided header file (.h) for a description of each function. | ||
+ | * lasertag/queue.c | ||
---- | ---- | ||
Line 50: | Line 53: | ||
{{ ::milestone1verifyanaloghardware.jpg?600 }} | {{ ::milestone1verifyanaloghardware.jpg?600 }} | ||
- | You will be using the gun mounted on the column. In addition to saving the FFT plot for your report you also need to save the raw data. The raw data needs to be collected with a sample rate of 100 ksamples/second. | + | You will be using the gun mounted on the column. Save the raw data from the oscilloscope on a USB flash drive. You can then process the captured data with MATLAB to produce FFT plots for the report. The raw data needs to be collected with a sample rate of 100 ksamples/second. |
** Oscilloscope settings** | ** Oscilloscope settings** | ||
Line 84: | Line 87: | ||
==== Queue ==== | ==== Queue ==== | ||
* Ensure that the queue_runTest() function runs to its end and that all tests pass. This can be done by uncommenting ''#define RUNNING_MODE_TESTS'' in main.c. | * Ensure that the queue_runTest() function runs to its end and that all tests pass. This can be done by uncommenting ''#define RUNNING_MODE_TESTS'' in main.c. | ||
- | * Submit your queue code on Learning Suite. Run "./check_and_zip.py 390m1" to create a .zip file of your project. Submit only one .zip file per team. The TAs will give credit to both members of the team. | + | * Submit your queue code on Learning Suite. Run "./check_and_zip.py 390m1" from within the ecen390 directory to create a .zip file of your project. Submit only one .zip file per team. The TAs will give credit to both members of the team. |
==== Report ==== | ==== Report ==== |