When Good Enough Isn’t Good Enough

I continued to work on the large microphone only to find it was not working. It was weird as it has same characteristics as the small microphone and the design worked on the small microphone. I tried to change the width of the debouncer and tried a design without debouncer as well but it still did not work. Dr. Shawn pointed out if it might be a speaker, producing sounds instead of detecting sounds. Hence, I executed the buzzer design Read more

Short Week

After a long holiday I am back in the office. This week I only work for 2 days and I only made a little progress with the bug. Right now I still working with the View file and on Friday Dr.Shawn asked me to check 3 things after I told him that I still having problem with the View file. Here the 3 things : Verify that the SQL generated by CakePHP actually retrieves the results Verify that the results Read more

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