Week of ... |
Lab/Lecture
|
Reference Material
[ white background indicates required
reading;
gray background indicates optional
reading]
|
|
|
|
Jan. 3
|
Lecture:
Lecture:
- Program Disassembly
[
Monday September 30, 2019
]
-
ALC exercise: Branch address calculation
(ready)
- Lab followup : Code examination - instruction cycles
What frequency limits did each platform have?
blinkfast listing
Blink listing
In listing, see that branches at end of loop() go
the the right places.
What happens with "digitalWrite"? Where is the code?
Where does the digitalWrite function end?
What happens with "delay"? Where is the code?
Where does the delay function end?
Hardware "tasks" come down to creating "events"
and timing "events".
- High level
and Low level programming
[
Thursday June 27, 2019
]
Is low-level assembly?
Low-level instruction map to specific assembly
(and thus, machine-) language
instructions.
inline assembly
compiled functions (.S) in assembly
- AVR Assembly language instruction set
-
Atmel iom328.h (definitions)
Lecture:
|
|
|
|
|
|
|
|
Jan. 10
|
Lecture:
Lecture:
Lecture:
|
|
|
|
|
|
|
|
Jan. 17
|
Lecture:
Lecture:
Lecture:
|
|
|
|
|
|
|
Jan. 24
|
Lecture:
- UART
[
Tuesday June 18, 2019
]
-
SoftwareSerial uses PinChange interrupts
AltSoftSerial uses Timer1
- 2 -wire interface
(TWI, a.k.a. I2C)
[
Tuesday June 18, 2019
]
- SPI
[
Tuesday June 18, 2019
]
- Display options: Shield, UART, SPI, TWI, (a.k.a.
I2C)
- ATmega328/Arduino pin
mapping
Lecture:
Lecture:
|
|
|
|
|
|
|
|
Jan. 31
|
Lecture:
Lecture:
cancelled
Lecture:
|
|
|
|
|
|
|
|
Feb. 7
|
Lecture:
-
Dithering
[
Monday February 10, 2020
]
-
ALC exercise: pulsewidth to ultrasonic measurement
(ready)
-
Copying volatile variables
Consider the following:
volatile somevar;
//stuff
doSomething(somevar);
// more stuff
doSomethingElse(somevar);
What is the potential problem in the above code?
-
ALC exercise: robot control options
(ready)
- Project ideas
Prototype 2 different process diagram options to
compare. (Maybe carry both to the end?)
adaptive cruise control
checklist (preliminary)
Lecture:
Lecture:
cancelled
|
|
|
|
|
|
|
|
Feb. 14
|
Lecture:
- Project update:
Dual prototype options:
The goal is to abstract the option details as close
to the hardware as possible. There should be a single
program, with a boolean that determines which is in
operation.
2 PWM options
fixed/adaptive distance measurement
open/closed loop straightness (1 or 2 sensors)
ultrasonic or IR distance
servo or DC motors
revised adaptive
cruise
control
project checklist
- Lab prep: Motor control options
What are the options for PWM motor control?
-
ALC exercise:
Motor PWM parameters determination
Lecture:
Lecture:
|
|
|
|
|
|
|
|
Feb. 21
|
READING WEEK |
|
|
|
|
Feb. 28
|
No lectures: project work
|
|
|
-
Decide on option to pursue
|
|
|
|
|
Mar. 7
|
No lectures: project work
|
|
|
- project work; try straight line movement?
|
|
|
|
|
Mar. 14
|
revised adaptive
cruise
control
project checklist
No lectures: project work
|
|
|
- project; user programmable top speed and minimum distance ?
|
|
|
|
|
Mar. 21
|
No lectures: project work
|
|
|
- project - smooth acceleration and deceleration
|
|
|
|
|
Mar. 28
|
No lectures: project work
|
|
|
-
Project demonstration
- March 31
course evaluation in lab March 31
MyLearningSpace evaluation open March 30
to April 5
|
|
|
|
|