Skip to content

Daily Log Akshay U Hegde

Akshay U Hegde edited this page Jun 28, 2017 · 7 revisions

Up until 29 May 2017

  • Installed CCS 7 on Mac, installed Tivaware, Ran Lab 0 Test Code.
  • Completed assigned Lab 1, worked with GPIO setup and manipulation.
  • Completed Lab 2, worked with Timers, Interrupts, implemented Switch Debouncing Finite State Machine.
  • Completed Lab 3, worked with PWM, performed experiments on on-board LEDs, performed Inter State Machine communication, worked on Servo PWM.
  • Completed Lab 4, worked with ADC and UART, made real time scatter plot of Thumb Joystick using Python.

30 May 2017

  • Studied tutorials on GLCD.
  • Created headers for the console configuration, GLCD interface.
  • Faced problems with LCD Backlight.

31 May 2017

  • Completed Lab 5, worked with GLCD and console. Finished all three problem statements up until displaying a time variable moving animation. (Solved problems with GLCD)
  • Completed Lab 6, installed TI-RTOS, imported example PWM_LED code and executed.

1 June 2017

  • Finished tutorials, and developed a basic understanding of tasks, semaphores and the mechanism of TI-RTOS.
  • Worked with XGCONF for Tiva C Configuration.
  • Completed Lab 7, implemented primitive scheduling using RTOS, HWI, tasks and semaphores.

2 June 2017

  • Installed Quantum Modelling Tool on macOS. Experimented with the interface using a Blinky State Machine(Graphical).
  • Faced Issues with GNU ARM Toolchain. Unable to dump code on Tiva C.

3 June 2017

  • Got acquainted with UML Statecharts. Studied David Harel's Statecharts. Understood the Watch Statechart Modelling.
  • Studied Quantum framework and its kernels and layers.
  • Circumvented the GNU ARM Toolchain error by switching to a Windows Machine.

5 June 2017

  • Made Presentation for the First Progress Presentation.
  • Successfully able to dump the Blinky QM Example bin file onto the Tiva C Board using LM Flash Programmer.

6 June 2017

  • First Progress Presentation.
  • Made an initial Statechart for the stipulated Vending Machine Statechart problem provided by Sanam Sir.

7 June 2017

  • Started with the Practical UML Statecharts in C/C++, 2nd Edition:Event-Driven Programming for Embedded Systems (Download) textbook. Finished Chapter 1 and understood the Fly and Shoot Game implementation using Quantum Framework.

8 June 2017

  • Finished Chapters 2 and 3 in the Textbook. Understood different QM Implementations in C code - Switch Case Construct, State Table Construct, Object Oriented State Design Pattern.
  • Rectified GNU ARM Toolchain error in Mac. Able to generate bin file on macOS using GNU-make.
  • Dumping code still an issue --Uniflash failed in dumping code. Tried LMFlash Programmer using Wine --ineffective.

9 June 2017

  • First Progress presentation continued.
  • Began work on creating graphic for GLCD, made skull, smiley images for the display using BMP-LCD converter for hex conversion and using MS Paint for design and bmp generation.

10 June 2017

  • Started working on the Vending Machine Statechart implementation on Tiva C. Made graphic for coin, soda can. Additionally also worked on other graphics including rocket takeoff animation and bomb explosion animation for the Time Bomb Implementation.
  • Created Font Library using GLCD Font Creator by MikroElectronica (Link to Download) for the Vending Machine Display.

12 June 2017

  • Worked with Statechart implementation of certain components of Vending Machine using Switch Case Construct.
  • Able to successfully switch between various states and obtain desired outputs as per problem statement.

13 June 2017

  • Debugged the Vending Machine Code. Ported Vending Machine to RTOS.
  • Brainstormed four game concepts including but not limited to Breakout, Pacman, Tetris and Car racing. Decided on Breakout Game implementation.

14 June 2017

  • Worked with initial block screen display. Made each of the different blocks using GLCD Font Creator, and used random number generation for their display on screen.
  • Encountered issue of the randomization occuring only on Reset.

15 June 2017

  • Created the tones library to play music using the Buzzer. Assigned behaviour to each of the blocks.
  • Created ball, paddle graphic.

16 June 2017

  • Implemented accurate millis and micros function. Played the Star Wars Theme, Game of Thrones Theme, Mary Had a Little Lamb and the Super Mario Bros Theme.
  • Implemented the ball movement using simple state machine.

17 June 2017

  • Initial collision detection implemented between ball and blocks.
  • Also implemented paddle movement using ADC(directly mapped). Very basic working model of the game.

19 June 2017

  • Began porting of Breakout to RTOS. Encountered several ADC and Interrupt errors. Unable to debug.

20 June 2017

  • Successfully debugged ADC and Interrupt issues(ADC initialization syntax error, Interrupt error in XGConf script). Working Breakout Game in RTOS.

21 June 2017

  • Made complete ASCII character set in 2 different font sizes for use with GLCD, with custom libraries for display.
  • Second Progress Presentation complete.

22 June 2017

  • Added Initial Screen, Menu Screen, Instructions Screen, Game Over Screen.
  • Implemented Scoring Mechanism and Cursor implementation for Menu navigation.

23 June 2017

  • Added Lives System, Life Animation, Death System, Difficulty, Variable Ball Speeds, Credits Screen and integrated music, beeps, and small transition music.

24 June 2017

  • Improved some of the present music in the Tones library.
  • Miscellaneous gameplay improvements and rebalance of mechanics(Difficulty dependent Health system, etc)
  • Added victory condition and Victory Screen. Game in Alpha.

26 June 2017

  • Further gameplay rebalance, change of brick size from 12x8 to 16x8.
  • Debugged a recurring error of half the screen being initialized.
  • Game in Beta.

27 June 2017

  • Documented Vending Machine Code. Made poster for final demo.
  • Edited Timed Bomb Code.
  • Additional debugging of Breakout(Reset of lives).

28 June 2017

  • Fully documented Breakout Code.
  • Added Vibration on death using vibration motor interfaced with the console.
  • Issues with vibration motor not starting everytime.