Accelerometer Mouse System Software Design Chris Wittmier ET
- Slides: 17
Accelerometer Mouse: System Software Design Chris Wittmier ET 474 Western WA University
Timeslice Kernel Why Timeslice? l l Simplifies Design/ Debugging Eliminates potential μCOS issues with MCU sleep mode
Task List (Tx) Power. Task l Tilt. Task l Pad. Task l Transmit. Task l
Power. Task Functions: l Monitor activity, set operation mode (Wake/Snooze/Sleep) According to operation mode: l l l Toggle accelerometer power Toggle RF transmitter power Sleep MCU, enable wake interrupts Period: ≈ 10 ms Execution Time: ≈ 10μs
Tilt. Task Functions: l l Get X-axis tilt (pulsewidth) Get Y-axis tilt (pulsewidth) How? 1. Enable rising edge interrupt (& debounce) 2. Enable falling edge interrupt (& debounce) 3. Compare free-running counter values at edges Period: ≈ 10 ms Execution Time: ≈ 1. 5 ms
Pad. Task Functions: l Check status of 6 buttons: l l l Mouse 1, Mouse 2, Mouse 3 Wheel 1, Wheel 2 Freeze (Cursor) Debounce buttons Interpret wheel direction Period: ≈ 10 ms Execution Time: ≈ 50μs
Transmit. Task Functions: l Transmit X-axis tilt (Write to SCI) Transmit Y-axis tilt Transmit button status Ø 1 byte each, 3 bytes total transmitted l l Period: ≈ 10 ms Execution Time: ≈ 500μs
MCU Load (Tx) In WAKE mode, max MCU load is estimated: L(max) = 50 μs + 1. 5 ms + 50 μs + 500 μs 10 ms =. 210
Intertask Communications (Tx)
Modules Tasks Main. c Sensors. c Power. c Get. XWidth() Set. Wake() Get. YWidth() Set. Snooze() Get. Pad() Set. Sleep() XByte Op. Mode Power. Task Tilt. Task Pad. Task Transmit. Task Functions Data Objects Tx. Init() YByte Pad. Byte
Task List (Rx) Receive. Task l Condition. Task l Report. Task l
Receive. Task Functions: l Read Data from SCI Period: ≈ 10 ms Execution Time: ≈ 500μs
Condition. Task Functions: l l l Filter outlying tilt values Calculate tilt change rates Scale rates according to angles Smooth acceleration/ deceleration Predict values between transmitter reports Translate to MS Wheel. Mouse protocol Period: ≈ 5 ms Execution Time: ≈ 1 ms
Report. Task Functions: l Manage/Monitor SPI control lines l Write reports to USB UART (Port T) l Ø Report rate of up to 200 reports/sec Period: ≈ 5 ms Execution Time: ≈ 500μs
MCU Load (Rx) Max MCU load is estimated: L(max) = 500 μs + 1 ms + 500 μs 10 ms 5 ms =. 350
Intertask Communications (Rx)
Modules Tasks Main. c Receive. c Condition. c Usb. c Get. Three() Calc. XSpeed() Read. USB() Calc. YSpeed() Write. USB() Receive. Task Condition. Task Report. Task Functions Rx. Init() Form. Packet() Data Objects XByte XSpeed YByte YSpeed Pad. Byte Intelli. Packet
- Accelerometer mouse
- Little mouse, little mouse where is your house
- Mems accelerometer
- Pedometer accelerometer algorithm android app
- Underwater accelerometer
- Potentiometric accelerometer
- Accelerometer sensor mit app inventor
- Phone accelerometer
- Disadvantages of piezoelectric accelerometer
- Machine definition physics
- Cantilever beam accelerometer
- Jax.org, colony management
- Pb1 mouse software
- Real time software design in software engineering
- Design principles in software engineering
- Multi-maze system for mouse / rat
- Skills and applications chapter 3
- Is an os system software or application software