First Week of Internship

On the first day I met Dr Shawn I was briefly introduced about the company and job scopes. Then, I was given a task to study about Git because I never use it before. I take about 2 days to finish all of the tutorials. After that, I continue studying CakePHP as I have to use it for my first project. On my fourth day of internship, I started to read and understand the structure of my first project and Read more

Time is Never Enough

I thought taking few days off the week would leave me regretting for my work productivity as the time spent would not be enough. However, this week went alright. Well time is never enough of course, but this week was slightly better than some of the weeks before. I paused my work on the passive buzzer and start designing few simple modules of LED. I started with the 2 colour LED, emitting red and green colour. There were two of Read more

Begin with the end in mind

Earlier this week I managed to get Google’s OAuth Service to work. This feature allows the application to link a Google Account to an internal login in the database and in a way, somewhat simplifies logging in (provided one has a Google Account). However, this was not perfect as the application will occasionally throw a “OAuth Authentication Error” when logging in. This seems to be a bug that is associated with Witty with its handling of the Google callback redirect Read more

PIC32 CORS

My task for last week was to implement CORS protocol for the HTTP server on FreeRTOS with the new boards. To briefly explain, when accessing an HTTP website (server) your browser (client) is sending a request to the server (GET request) asking for data. If you’re on chrome hit F12 go onto network tab and refresh the page. Click any item to view the request method which will probably be GET. The PIC32 will be the server listening for the following requests as part Read more

Stop Counting The Effort. Make The Effort Actually Counts.

Unfortunately, this week did not go the way I planned. I worked extra days to cover a few leaves I plan to take later, thus with more time spent on work for the week, I should be accomplishing more.  However, this is one of the cliche time when quantity does not bring anything without quality. I planned to finish my buzzer design and get it working including its test bench. I wanted to design the code to be implemented on Read more

FreeRTOS Memory Heap Problem

This week I pushed my basic FreeRTOS port onto a release branch on GIT (yay) as functionality is good. It’s very simple. It has 3 apps related to USB, FPGA and TCP/IP. The USB CDC app task maintains the state of the driver and creates another task whose job is checking the status of certain global variables and printing messages to the COM port accordingly. The second app is merely one task which transmits a bit-stream to the FPGA through bit-banging after which the task is deleted and Read more

Of SegFaults and Compiler Errors

My progress with building web applications with Witty was kind of unpredictable. Some of the days I was able to complete most of the functionalities of a web page while on others barely anything could be accomplished. I guess this is what happens when one gets stuck in the cycle where at one end you will be able to accomplish something quick as it has been done before while at the other end you spend hours trying out a new Read more

Not as Smooth as I’d thought

Week 5. I continued working on utilizing FreeRTOS for our board as last week I had done a very improper implementation. In my inexperienced eyes, everything was working, but more and more issues were appearing. That’s when Dr. Shawn took a look at the chaos I’ve created. Basically I didn’t understand well enough how an RTOS works, and my implementation was bound to crash. Therefore I had to go back and read more of the documentation as Dr. Shawn told me my Read more

Progress Won’t Happen Without Struggle

Using one word to describe this week’s progress, that would be the word SLOW. Or more accurate, SLOWEST! The week however, just passed so fast. I was disappointed when I realized it was already end of the week and I have achieved nothing. Nothing – Not a thing, design code still not working, test bench failed, buzzer would not produce even the slightest sound, definitely. I made a change to the clock divider module that was made before this for Read more

To FreeRTOS

This week I was tasked with migrating our PIC32 code so it would use the superior FreeRTOS architecture instead of a superloop. Having no experience in FreeRTOS whatsoever I began by skimming through the first 3 chapters of documentation to get me started. Later I simply enabled the FreeRTOS third party library in Harmony Configurator which automatically setup almost everything for me  ¯\_(ツ)_/¯ minus some minor adjustments for function priorities/delays. The real hassle was getting everything to work properly when put together. A single program would Read more