Creating an IO object in Javascript

Creating an IO object After nearly giving up and getting some hints from Dr. Shawn, I finally achieved my small task. As I am working on a virtual processor in Javascript, I am required to enhance the LW and SW instructions to be able to handle IO instructions on port-mapped addresses. There are a set of predefined addresses which are used to store the information of the IO. So, it is important that the IO addresses are being handled correctly. Read more…

Hardware Implementation of Demosaicing Algorithm

This week I was assigned to draw the schematic for the demosaicing algorithm. The algorithm is separated into two parts, which is bilinear interpolation in the boundary of image, and PPG interpolation for the rest of image pixels. The Overview of Demosaicing Schematic The hardware implementation of the demosaicing requires the storing of pixels information in buffers (RAM), processing, and finally output in RGB form. As I was finding the way to store the buffer, I found that there is Read more…

PIC18 SHA1/MD5 Performance and Internal Flash Storage

This is my fifth week of intern in AESTE. Continuing with synchronizing SHA1 for CLIENT and SERVER also added HMAC-MD5 into my project. The code to generate a HMAC-MD5 is exactly the same with the code I written for HMAC-SHA1 just slight different in the Hash function used (which is based on HASHES.c from TCPIP Stack provided by Microchip). After having both MD5 and SHA1 capable of producing HOTP value, I did some performance test for this 2 hashes, the Read more…

Justify Demosaicing Algorithm

This week, I spent my time to understand and test the demosaicing algorithms in C. Finding the Right Algorithm I had done a lot of searching through the Internet, try to figure out what is the best algorithm to be used, and implement it in C program so that I could test it and visualize the effect of it. There are many open source software that provides demosaicing, such as Darktable, RawTherapee, and TISCamera. RawTherapee has a default demosaicing algorithm, Read more…

Race Against Time

This week of mine was a bit short for the Eid (Hari Raya) holidays. It is never the best feeling to have Eid away from home and family, but we all try to make the best of what situation we are in. Anywho, this caused the progress of my project to be slower than other weeks. Getting back to my work, my project can now successfully retrieve access_tokens, token type and uid, which are unique generated id from dropbox server Read more…

PIC18 SHA1, HMAC-SHA1 and HOTP Generator

This is my Fourth week working in AESTE and i got my PAY!!! Woots~ I’m starting to get comfortable and used to the working environment here, everyday having something to look forward to is really fun. Well for this week I continue on the topic about implementing HOTP. SHA1 calculation was successfully tested and very straight forward to implement just type the following code (with HASHES.c and HASHES.h library included) BYTE TEST1[] = “abc”; HASH_SUM sha; SHA1Initialize(&sha); //HashAddData(&sha,”abc”, 3); //not Read more…

Fun with Javascript

Fourth week my internship in Aeste has officially passed, I must admit it is a pleasure working here. I spent the week continuing my work on achieving my first task, which is to integrate IO signals to jointJS. Last week, I talked about generating text files using boost::filesystem. The file was generated in the JSON format which listed some important data. Initially, I planned to use Wt Json library to transmit the data to the Javascript component but my colleague Read more…

C++ and Boost Regex

Well, this week I have finally completed some tasks, although it’s a slow progress, but I’m satisfied with myself. FYI, I had numerous encounters with pointer and addresses. In one of my tasks, I had to assign preset addresses to an object. Usually, once we declare a variable the address of the variable is automatically set. What if we want to set an address to a variable? A beginner as I am, I actually thought the correct way to do Read more…

Demosaicking Approach in C

This week, I had been spending time searching on way to test the demosaic algorithm. I did a misunderstanding on previous week, that there is a process between the image sensor output and raw image. The Raw image is directly the output from the image sensor output itself. Well, I could not judge the statement until I actually prove it myself. As I searched through the internet on the way to verify the statement, I found this link that actually describing Read more…

TCPServer with CORS and HOTP on PIC18

This is my third week in AESTE, I guess my project is still progressing smoothly~ I started the week with writing a very simple TCP server socket for testing purposes and then proceed on adding more features into the code. TCP server socket programming is really straight forward just: OPEN socket, Then LISTEN for incoming messages, ACCEPT the connection from client, And lastly SEND and RECEIVE data. Microchip Technology provided a really good TCPServer example code (from TCPIP source code), Read more…