Testing the Simulator

This week, my first task is to check if the simulator simulates the c++ codes correctly. Hence, I referred to the console and looked for evidence to prove it. However, I could not find enough information about the instructions at each cycle in the console. I had to use objdump to display more information about the object code and then look the instruction numbers up. With the help of the RISC-V handbook, I was able to show that the simulator Read more…

Coding the REST API

I finally started coding out the REST API. There was not much to be noted though as it was just mainly implementing the details of what was previously drafted into code. This time I spent a bit more time to plan out the code to reduce copy-pasting code by separating them into reusable modules and also by maintaining some consistency when writing the code which led to a somewhat cleaner codebase compared to the previous application. There was also an Read more…

Module by Module

I carried on with the task of designing the modules in Verilog. I had chosen to work on the Infrared Transmitter and Infrared Receiver. This was quite exciting as it was my first time to work on two modules that work together. I already started designing the code for the modules but it could not be synthesized so I checked the designs again. First, I checked the transmitter design, it only required output so the design was quite straight forward Read more…

One at a time

After a few weeks looking and searching for the right way how to do the query  at last I found the answer. I have to follow the tutorial which is Multiple relation to the same model. This thing usually being used if there are cases where a Model has more than one relation with another Model which is same like my situation as I have 2 relations from the same model. This tutorial can be found in CakePHP 2.X Cookbook. Read more…

Getting started with the project

My progress is still slow this week. At first, I struggled with generating an elf binary file from a source code.  Dr Shawn reminded me to use the RISCV compiler to generate the elf file. Hence, I read some RISCV documentations and options for linking to get a better understanding of compiling using RISCV compiler. After generating an elf file, I used that to test the simulator. I tried simulating a couple of elf file but I keep getting the Read more…

SQLite WAL and Witty

This week was spent drafting and planning the REST API. But before delving into that, there is something that could be useful when developing future applications with Witty. As mentioned in a previous post, we were encountering stability issues with the application. In particular, there was a possibility of encountering an error during simultaneous reading and writing to the database which would then crash the application as an exception is thrown. Fatal Error: Database is locked Since database access is Read more…

SSH over IPv6

We had a file server in the office set up to grab data from our remote server daily – for off-site backup purposes. This essentially uses RSYNC over SSH with certificate authentication. The entire process is run as a cron-job daily. However, recently the backups started to fail mysteriously. It had all been working fine before this. Looking at the SSH server logs, it seems that the client seems to be disconnecting at the pre-auth stage. Looking at the client Read more…

Flexibility in Naming

This week, I made a documentation about naming convention. I learned the importance of documentation and communication because it ensures a smooth workflow of project and it helps someone in the future to understand the concept quickly and continue working on it. Other than that, I study wishbone and learn about the signal between Master and Slave. I find out that signals named ‘stb’, and ‘cyc’ control the timing to latch data. I can manipulate these signals to activate different Read more…

Half Done

At the beginning of this week, I realized I had only another month of internship to go which made me feel bad over the fact that I was not done with at least half of the sensors. I was determined to be as fast as I can in finishing them. I referred to Dr. Shawn regarding the widths of the debouncer design and showed how I had to change few lines of codes that is dependent on the widths of Read more…

Working on the Query Builder

After doing some reading I managed to find the right SQL. I tested it on PostgreSQL first because that’s how Dr Shawn taught me. He told me before I start working on something I need to know what I want then it will be easy for me to follow the right path. Otherwise all the things that I do will be useless. Next, I have to work with Query Builder in CakePHP. I have to find the right query and Read more…