Skip to content

Work Log

Vinay Manjunath edited this page Jun 5, 2017 · 28 revisions

May 24 2017
        1. Revisited Concepts in C Programming
               * Scope of variables - Use of Extern keyword, Local vs Global, Static, Register Variables
               * Header files
               * Complier directives and C macros
               * Pointers
References:
        1. Basics of C Programming


May 25 2017
        1. Understood AVR-GCC compilation steps - Compiling, Linking and Object to Hex
            conversion.
        2. Looked into how header files are typically written for micro controllers and in particular for
            AVR family.
        3. Looked up what Unity was and went over how to use Unity with native builds.
        4. Completed the Experiments given for the FireBird V and verified them by uploading to the
           FireBird.
References:
        1. Compiling and Linking using AVR-GCC
        2. Unity


May 26 2017
        1. Wrote a Program to control the BAR LEDs on the FireBird V and tested the program by
            uploading it to the robot.
        2. Downloaded Unity and read about how Unit Tests are to be performed and their
            requirements.
        3. Edited the Headerfile for the Atmega2560 so that its registers were now accessible
            Testing.
        4. Developed a Unit test for the BAR LED Program and verified the program using Unit
            Testing.
        5. Went over the Concept of Mocking functions using CMock.
References:
        1. Download Unity
        2. CMock
        3. Concept of Mocking Functions


May 27 2017
        1. Evaluated the Buzzer Beep Program initially by uploading it to the robot.
        2. The given code possessed a main function containing a while loop. This throws an error and
            hence the while loop must be detected
            during the time of testing and removed completely or replaced by a for loop.
        3. Ran into difficulties while trying to develop the Unit Test since the Embedded C
            program must be compiled using vanilla GCC and not AVR-GCC. The vanilla GCC could
            not compile the the delay functions properly.
        4. Researched about possible solutions for the error and concluded that GCC could not
            successfully compile certain functions and
            they would either have to be redefined or mocked.


May 29 2017
            1. Downloaded Cmock and understood the requirements and the procedure to generate
                Mock Functions and installed Ruby 2.4.1
            2. Ran into an error due to a missing file while trying to generate Mock delay function to
                render the Buzzer Program testable.
            3. Successfully fixed the the error by replacing the missing file and creating the required
                directories for Mock function generation.
            4. Generated a Unit Test to verify all functions in the Buzzer Program by using the Mock
                Delay functions.
            5. Accessed the results of the Unit Test and saved the contents into a .csv file.
References:
        1. Procedure to Generate Mock Functions
        2. Ruby 2.4.1 Download


Clone this wiki locally