ECE 443 – Distributed Processing and Control Networks (Fall 2022)
All assignments are due at the start of class on the specified due date. Late assignments will not
be accepted without prior approval. Each assignment should have your
the course number, the date, and the assignment designation (e.g., HW1,
Attendance is mandatory. Students who miss
five or more class periods
will automatically receive a final grade of F.
Assignments will specify a particular submission format. These
are generally either (a) a single PDF file and/or (b) a zip archive.
PDF submisions should be uploaded as a single PDF file to the
appropriate assignment in Canvas. MPLAB projects and other submissions
involving binary files should be shared via your UI OneDrive account as
a single zip file using the following naming convention (all lowercase): vandalusername_course_assigment.zip.
For example, vand1234_443_p1.zip would
be shared from Joe Vandal's OneDrive account, representing his MPLAB
project folder for Project 1 in ECE443. Assignment designators are
"h#" for homeworkor "p#" for projects.
Homework and Quizzes (10%)
Homework will be collected and graded throughout the semester. Students
work together on homework and should check their answers against the
solutions. There may also be unannounced quizzes periodically, perhaps
daily! It is your responsibility to make sure you are prepared for
- Aug 29 - Develop a software system (see ECE 341
on the ECE 341 Lab Platform that toggles LEDA and LEDB at different
intervals, depending upon buttons 1 and 2 and specified as
follows : No buttons pressed - both LED off; only BTN1 - LEDA
toggles every 10 ms, LEDB every 15 ms; only BTN2 - LEDA every
ms, LEDB every 5 ms; both buttons - both LED every 10 ms.
appropriate waveforms using the logic analyzer and submit as a single PDF file with
a one paragraph report summarizing your experience. The PDF is submitted via Canvas. No need to share the MPLAB project.
- Sep 2 - Download the FreeRTOS zip archive from the FreeRTOS section of the 443 Handouts directory and download the "blinky" repository
into the "Projects" folder and follow the instructions on packaging
your project below. Execute
the MPLAB project and observe the behavior on LEDA and LEDB: What does
this “instrumentation” say about the task execution behavior? Following
the naming instructions under "Electronic Submission" above, submit a single PDF file summarizing your findings via Canvas.
- Sep 9 - Dr. J can think of three ways that a FreeRTOS task can
pass data to another task: a queue, a stream (or message) buffer, and
shared memory (e.g., global variables). Write a brief paragraph for
each method discussing the pros and cons.
- Sep 16 - For each of the following, discuss the pros and cons
compared to the alternatives: Task Notifications, Software Timers, and
- Sep 21 - CRC calculation
- Oct 5 - Download the CAN repository into
your FreeRTOS "Projects" folder and run the demo. Use Digilent
Waveforms to capture the LED behavior and CAN message exchange by
monitoring CAN1 RX on Pin 1 on connector JF on the Cerebot board. Please submit via Canvas a PDF with your captured waveforms. No discussion required - unless you encountered a problem!
- Oct 30 - Wireshark. Upload a PDF to Canvas by 10 pm PT
- Nov 9 - Download the tcp_timer repo as a zip file and build in the Projects folder under FreeRTOSv202104.00. Configure
PuTTY appropiately and connect via TCP to the PIC32. Upoload a single
PDF to Canvas by 10 pm showing Wireshark capture and the PuTTY window
- Nov 29 - Download
the mqtt_demo.zip file from the Handouts/MQTT folder of my OneDrive,
make the modifications specified in main.c, build, and run. Upload a
PDF to Canvas by 10 pm of a screenshot of the HiveMW web client with
your subscription data published by the PIC32.
There will be projects throughout the semester, selected to complement
lectures. Students are to work independently unless specified
otherwise, and contact the instructor if
they have questions. Project packaging instructions.
- Sep 6 - Project 1.
Code due by10 pm PT. Report (single
PDF file!) due before the next class period
- Sep 12 - Project 2. Code due by 10 pm PT. Report (single
PDF file!) due before the next class period
- Sep 19 - Project 3. Share project by 10 pm PT. Report uploaded to Canvas (single
PDF file!) before the next class period, followed by a demo in the lab
- Sep 30 - Project 4. Share project by 10 pm PT. Report uploaded to Canvas (single
PDF file!) before the next class period
- Oct 10 - Project 5.
Share your project folder via OneDrive by 10 pm PT. No report, Doxygen,
or Tracealyzer requested! :-) Demo in lab during class on Oct 12.
- Nov 7 - Enhancements to Web-Vending Machine. Demo in lab during class
- Nov 15 - Remote Control via TCP. Demo in lab during class. Share code via OneDrive beforehand.
- Dec 9 - Remote Monitoring. Demo in lab during class. Share code via OneDrive beforehand.
There will be two exams: a midterm and a comprehensive final,
weighted equally. Handwritten
material permitted, but no
printed material unless otherwise specified, i.e., open notes/closed "book". Please bring
your own paper,
and an eraser to each exam.
- Oct 17. Exam topics
- Final Exam. Tues, Dec 13, 12:45-2:45 pm, ECE conference room. Exam topics
Course grades will be available through Canvas. Final grades will be
calculated using the traditional scale (90%=A, 80%=B, etc.).
Available on OneDrive.