Thursday, April 08, 2004

Re: Code Review - iermon

Firstly, what exactly does the app do?

see, thats one of the reasons why orielly has not called me yet. Read this document which was prepared as a mid-year report to explain the objectives, need etc. that document should clear most questions. if any more,.. pls ask. the app is divided into modules and each performs a specific part. the doc in the prev blog should explain the app now.


How did you do the coding? Each did a separate class or did you work on everything together? I've never really worked with anyone else on a coding project, so just wondering what approach you took. Small diversion... what dyou think of XP?

a part of LCD was written by another employee before. but had to restructure it to our style. then wrote GMCounter,.. etc. this entire system was so new, so different that we did not think of planning how to structure the code. just tried taking a small step at a time. we obviously knew the system requirements, but no coding design. then the so-called controller evolved. and things sort of fell into place. can you guys think of any other way you would structure the app. it was a relatively small app so we could restructure the code we wrote in small independent modules, then just plug them together.

also you are definetely smart enough to realise that we were not smart enough to write the PPPServer class. that was an demo example we just integrated into the app.

do not know how many principles of XP we conformed to. just that we were 2 guys on one pc. plus there was a slight mis-match as we code in diff languages. but, we could definitely relate on logic and it was a good experience. sometimes get simple or complicated solutions, sometimes just none. there were quite a few instances when there were multiple solutions to one problem and then you can decide on the better one. a good learning experience.


Where does the output to all the exception.printStackTrace()'s go? I guess the only output that is displayed is with the "lcd.LCDWrite()" calls.
Device has a jvm on it... What OS? Some form of linux?


dallas semiconductor have their own proprietary software TINI. they have a TINI SDK. the microcontroller (mc) can be run with or without the OS. without the os, flash memory would generally contain an app written in assembly. otherwise the tini os can be loaded into the mc and then other apps started after the os. either binaries can be created (tbin) or java (tini) files can be used. in the TINI docs the method to generate a tbin or tini app is described (still have to read on tbin's). for java (tini) files analogous to normal pc's a shell/command line is required, but not for tbin files. tini also have a shell called *. this can be started after the os. this shell can be accessed by telnet'ing the mc. it requires a login and supports some basic commands like date, ls, dir, cd, cat, ipconfig, rm, del,..

to execute a java app,
$ java iermon.tini

also some stuff i has posted earlier
"java files are then written and compiled on a seperate pc. these are then converted to a .tini file. tini is actually a java based propriety framework by dallas semiconductors. it packages all the necessary .class files and adds some more info. this tini file just has to be transferred by ftp. next java the .tini file. thats all. in normal java apps, the jvm executes the class file and the garbage collector is actually just a daemon thread. but in this implementation, the gc is a seperate process."

now System.out.println refers to the telnet session in which the java app was created. close this window/session and the app runs on the mc but no System.out.println will be seen. and mohn was right about the lcd panel. it is supposed to be the actual window to the operations of the mc. we have not actually finished the app in whole. could have spent more time for better logging and better names, comments, etc. just short of time.


What's with the .tlib? Why not just have it as a class and reference that? I didn't know there was another file format other than .class in java.

tlib is another TINI propreitary file. but you got me thinking on the question. i think tlib can be something analogous to a native library. for eg to call C/C++ code within a java app use the method System.loadLibrary("xxx"); where xxx is a dll or a lib.so. but cannot confirm as of now. you know the Disclaimer right!! another reason why orielly are shy of me...

No comments: