HpTrans

Navigator

Project Site

ChangeLog for HpTrans

2001-03-08 Eric Schendel * Fixed main Makefile.am to handle use of tar due to change in new automake. * Cleaned up the tools build system some. * Fixed Xmodem and HP Xmodem send problem were it was sending the last packet twice. * Improved use of temporary files with in hptrans, such as only using them when absolutely needed. I still need to work on the creation part. * Fixed error handling when trying to save a binary file. * Made html documentation have a header with a version number. 2001-02-25 Eric Schendel * Getting ready for version 0.20 release which will be done when some more good testing has been done and the rpm information has been updated. * I have decided all releases will be development releases until I get the Xmodem client working with the calculators server, so I can develop strong test cases. * Finally succeeded in creating a working HpXmodem class. This is definately beta code for now and needs much testing, but I have good feelings I will not have much problems with it. * Created a packet class within Xmodem class. This has made things much easier and logical. * Made the send and receive Xmodem routines have a sense of parallelism. * Completely revamped the Xmodem class. It has been made so it is easy to derive other types of Xmodem protocols, such as HP's version and Xmodem CRC version (I will only include HP's version). 2001-02-23 Eric Schendel * Fixed a problem in parameters which occurred from using stringstream. * Split the Xmodem class into its own header (where it should have been). * Created the HP CRC routines (it has begun!). 2001-02-21 Eric Schendel * Fixed an argument parser routine for verbose mode selection in parameters * Finished all tests which I can think of for hpcv (nothing exotic) * Added text to binary test cases. 2001-02-20 Eric Schendel * Found a HUGE memory leak when using strstream instances, which I found out has been deprecate. Therefore using proper stringstream instances. * Improved speed of some I/O functions by using buffers * Include new hpcv.html to html distribution package * Wrote man page for hpcv 2001-02-19 Eric Schendel * Finished test cases for hpcv convert from binary to text. * Test cases are a must! I found a BIG problem with my file saving routine in the HpConvertFile class. It has now been fixed. * Created testsuite tool for creating test data files. * The test cases for hpcv are moving along, I think I have started a pretty good foundation to work other test cases off of. I will not work on test cases for hptrans until the server routines work, but at least I will know the conversion routines work properly. * Started the test cases for hpcv. Currently just getting the feel of it and Ive decided to stay away from dejagnu. I find that automake's use of external scripts (Im using sh) will be more than adequate and much quicker than other methods I have tried. * Fixed some annoying build system problems with the tools section. * Updated to autoconf 2.49c and automake 1.4d because they work well with each other and accomplish a build system which Im happy with. 2001-02-18 Eric Schendel * finished hpcv (new conversion tool) and have done limited testing. * removed command line conversion routine from hptrans and added it as a stand-a-lone tool called hpcv. * Add getLogLevel routine to Log class along with an operator overload method to allow for easier LogLevel passing instead of depending on a global parameter class for that program setting. * Separated the Parameter Class to allow for common routines between HpTrans and tools, also added some major improvements. * Finally got around to making a HpConvertFile class. It has been put to good use in the convert tool. * Sorry for the long delay on updating this project. I have been busy with school (hardest semester yet). But I have worked little here and there so I will try to note all my changes so far. BTW, next release will only happen after I add the Hp49 CRC routines which is my next step. 2001-01-17 Eric Schendel * Created macro file to test CommonC++ version to hptrans' required version. This will be submitted to CommonC++ development, but is currently included in current version of hptrans. 2001-01-16 Eric Schendel * Require CommonC++ 1.3 or better now, because of version checking support. * I am back in school and have my new HP49 calculator (much better). 2000-12-19 Eric Schendel * Bad news! Well good news for me. I am sending my old Hp49 in for a new one. My screen is badly scratched up and I dont need my calculator for school right now. So that means I will not have any new added features for about 2 weeks or so. Other than getting the hpconv tool working, which should not take long at all (bunch of cut and pasting), I will work on getting Hp's Xmodem routines working to help with sending files quicker. * I have implemented the conversion routines in hptrans. I think I will go ahead and seperate this as a tool as soon as I get a chance. I do not like what I had to do to hptrans to get this to work. For now I will just have a development release with this in it and will not update the man page. * So far only the build system has been created for hpcv, I will only pursue this tool when I start working on more conversion routines, such as graphics and matrices, therefore the string conversion routines will be built into hptrans for the time being. I will want to work on getting Hp's Xmodem routines working first. Of course I will work on any plausable requests first. * Decided that Hptrans class will get too cumbersome at the rate it is going. I found that splitting all the conversion routines out to its own class is the way to go. As a by-product, I can also take out the stand-alone conversion routines from hptrans and put it in a special tools program. Since everything used by the tool 'hpcv' is a subset of hptrans, except for the use of CommonC++, I decided to not split that package off and that its build system will be part of hptrans. If it grows and someone else wants to take it over, then I will make hptrans call hpcv instead of sharing source code. 2000-12-18 Eric Schendel * Can create rpm's only for CommonC++ rpms from version 1.21 to 1.29. I have not seen any 1.3+ rpms out anyways. Use tar.gz source for that. 2000-12-17 Eric Schendel * Worked on a spec for building rpm's. I can now build them, just not the way I really want though (see TODO). 2000-12-16 Eric Schendel * Fixed another problem associated with the new autoconf. It will not handle updating aclocal.m4 properly. I feel this is one of the last problems I will find with this version. These fixes are well worth the new benifits. 2000-12-15 Eric Schendel * I removed all the eye-candy echo messages from the Makefiles, now the actual command information is display. This points out problems quicker. * There is now the make dist-html option with creates all the html documentation files include kdoc htmls and puts it in a distribution. This will make my life easier in update the web page in the future. * I revamped the automake files to make the developer friendly. 2000-12-14 Eric Schendel * fixed some problems from the new autoconf by updating the build system. * I found the '-j' option of make (blessing), so Im making the build system parallel building safe because I was getting some nondeterministic results. 2000-12-11 Eric Schendel * update to autoconf 2.49b, so I updated the configur.in and reconf files. * configure now checks for all used c++ header files. * Add --enable-profile to configure.in to enable gprof profiling when needed. * Added somemore build system cleanup. 2000-12-09 Eric Schendel * Do not automatically overwrite received files. Added the -o option. * Able to do a Hp49FileRea::check instead of open to see if a file is really a Hp49 binary file. * Strip hptrans when file is installed. 2000-11-24 Eric Schendel * A huge bottleneck solved was found in the read and write nibble/byte routines in the Hp49File classes. This was streamlined by getting rid of log and error routines in the function. * Did some major optimizations on converting text file to a hp49 string file. * Did some profiling and found major bottlenecks in the nibble writing and reading routines when large files were being used. This has been solved. * Help is now displayed on command line option errors. * Optimized StatusMsg classes. I feel everything is final with the StatusMsg, Log, and Error classes. * Did some major clean up, testing and fixing of the StatusMsg classes. * Fixed a major problem in the Error class with it not doing proper compares with ErrLevel enumeration. * Build system does a better clean up job. 2000-11-21 Eric Schendel * All main coding is done for the release of 0.15. I just need to do a little bit of cleaning and testing and everything will be underway. * Finished conversion routine when sending text files. 2000-11-20 Eric Schendel * Finished class dealing with creating and writing Hp49 files. 2000-11-13 Eric Schendel * Made small changes in the documentation. I need to have Mike proofread everything so I can have it ready for a release. * I have a feeling that after tomorrow I will be too busy to work on hptrans for about a month until finals are over. 2000-11-08 Eric Schendel * Update documentation substantually. * By use of temporary file, xmodem class no longer has to clean up on errors. * Will not allow a command option selection with out filename. * Made handling and detecting the use of GUI mode better. * Changed src/Makefile.am to add a symbolic link to src/hptrans in the top directory when compiling and linking is done. 2000-11-07 Eric Schendel * Added '-n' option to tell hptrans to not automatically convert Hp49 files to/from text files. * I decided to go with the use of temp files when sending or receiving files. This helps eliminating possible file errors in the future, and it helps with future addons. Also, it allows the possiblity of not overriding already existing files until the very end. 2000-11-06 Eric Schendel * BTW, there has been alot of testing by me with everyday use of version 0.1 and I have not had any problems with xmodem send and receiving. * I have finished the automatic portion of converting received Hp49 string files to text files. I just need to add a commandline option to allow for an override of this. My next step is to have an automatic conversion from text to Hp49 string files before sending (which will not have an override). Then I will have a public release of 0.15. * School is still kicking my butt. On the bright side it has pushed me to finish the Hp49 string conversion to/from text file porsion of the hptrans code. It has been along time since I updated CVS mainly because I have done a lot of changes and any intermediate updates would of broke hptrans. 2000-10-16 Eric Schendel * Working on Hp49 File structure for reading and writing. I created classes to handle this. Once the conversion to/from binary files and text files is done, I will not only release on Source forge I will advertise on hpcalc.org and freshmeat. * It has been a long time! I have been busy with school among many other things. I will not be working too hard on this project until things slow down in a month or so. But I will work on things here and there as time permits. 2000-09-28 Eric Schendel * I found out yesterday that even dealing with ASCII mode transfers with the HP49 xmodem transfer is pointless, because the calculator does not support that. So I am taking out all the command line options and documentation supporting this. Goes to show that one should research before jumping right in. Now I must make special routines to handle conversion between HP49 string files and ASCII text files. 2000-09-27 Eric Schendel * Updated documentation substantially for both the commandline help session and the man page. * Found that my initial way of setting transfer to ASCII mode was terrible. I went ahead and changed this up and beefed up the user friendliness of the commandline options and commands. 2000-09-26 Eric Schendel * Added xmodem recognition of sending ascii and binary files, but have not yet implemented the xmodem protocol to do that. 2000-09-24 Eric Schendel * Add support for ASCII file transfers to the parameters section, but I still need to implement this to the xmodem section. * Reworked the parameter parsing section for easier future additions because of my initial rush to just get something to work for the first release especially since this stuff can get boring. I wish I could of found a good library or script that would of done all of this for me without problems. 2000-09-23 Eric Schendel * Proper version information is displayed. * Fixed all possible config.h conflicts from other programs. 2000-09-21 Eric Schendel * Display of version information is now handled by hptrans. * Added Mike as a technical writer, who will also help with the GUI layout. * Some rough edges are being polished with the documentation in INSTALL since I rushed it for the first release. 2000-09-20 Eric Schendel * Yes, I am still alive even though barely. * Well, I decided to get rid of testing for now. I have done a really bad job of writing expect scripts which I think work at random moments in life, and especially do not work now that I added a help display on all command-line errors. Anyways, I have upgraded to 8.3.2 from 5.something and I will work on good expect script writing techniques. I will make sure to have testing back in before I even start on the GUI interface, since I dought command-line usage will change much from that point and on. * I put the command-line usage display in the parameters class. It seemed to make more sense to put it there. 2000-09-09 Eric Schendel * I have been so busy with school lately, but I think after some tests things will slow down some so I can progress this program to where I want it. For now I have just touched some stuff up and am going to release it. 2000-09-03 Eric Schendel * Finished the help display. Everything is ready for release now. I will do some updates and more cleaning, etc, until Common C++ library is released. * I decided that the current method of taking parameters from the command line was too rigid and was not really object oriented. I could see alot of future problems, so I decide to make it more modular. Only draw back is that it is not as fast as before, but I dont see this being a problem. 2000-08-31 Eric Schendel * Completed format and purpose of NEWS file. I used figlet version 2.2 with the options '-c -f slant NEWS' to create header. * Fixed man page enough for first release. * Fixed configure.in to properly handle reading in Common C++ compiler options when not in debug mode. * Finish the overall structure for the man page. All that is needed is to fill in a description of all the options and commands. 2000-08-30 Eric Schendel * Did some work on user documentation. Everything was stripped to bare minimum and things will be added as needed instead of doing it all now. * Only new man pages are saved for distribution as hptrans.dist. This is in case user does not have pod2man to create man pages from pod files. * README file is done. Now it is time to do the man page and help display. Once completed then the INSTALL file must be filled out. 2000-08-29 Eric Schendel * An account was set up on freshmeat so hptrans can be posted there later. * Figured out how to add a program to ww.hpcalc.org (easy: just upload). * A release can not be done until Common C++ version 1.2.1 is released. * Tested and reviewed the code for sending and receiving binary files by the xmodem protocol. I feel hptrans is complete for basic xmodem binary file transferring. Once user documentation is completed enough to suffice, I will release to the public to hopefully get feedback. Then my following release, shortly after, will have ASCII transfer support along with polished documentation for both developers and users. * Created simple binary testing files for small and large packets. * I have done enough code cleaning. I believe it is time for public beta testers to make sure I did a good job. 2000-08-28 Eric Schendel * Added a copy assigment method to StatusMsgs::Error to make sure that a set Error object is not overridden by a SUCCESS Error object, otherwise some methods of hptrans would return SUCCESS when there was actually an Error set. * In my endeavor to have a strong foundation, I am still cleaning up code and changing some portions which might cause problems later. 2000-08-26 Eric Schendel * Starting overall code clean up for first release. I will be busy during the weekend with "before school starts" parties. So hopefully I will have my first stable release by this coming Friday. 2000-08-25 Eric Schendel * Xmodem send works even with large file transfers. It is just the HP49 sends random garbage to fill not fully used packets which was confusing my testing. * I found that the HP49 has its own type of CRC check which causes the start of sending a file from the PC to be very slow. Some time after the first release I will create a HpXmodem class which will inherit the Xmodem class but will support the Hp49 CRC. * Finished xmodem send but it is still in the beginning stage. I do not believe it handles large file transfers properly yet so I have some debugging to do. * Did small changes and bug fixes on xmodem receive and feel it is becoming very stable but does not support CRC and probably wont for a long time. 2000-08-24 Eric Schendel * Fixed a major bug with writing file bytes during xmodem receive. * Add an ErrLevel of MINOR to Error of StatusMsgs to help declare program errors without displaying them. * Made checking remote requests for termination universal for both xmodem send and receive. 2000-08-23 Eric Schendel * Added an important method for both xmodem send and receive for abruptly terminating transfers by sending CANs and put calls to this method in appropriate places such as file errors, etc. * Xmodem send code now does proper negotiations and handles the hp49's strange way (undocumented?) of starting a xmodem receive of first sending 'D' character instead of a NAK byte. * Xmodem send now handles properly ending transmission with the hp49. 2000-08-22 Eric Schendel * I found that I should do some retries in the xmodem receive code instead of going directly as an error. So I fixed this. Now I really hope I do not have to make any changes here for a long time :). * Miscelleous updates to how hptrans handles parameters for sending and receiving files. * Tiny changes to log messages. * Started xmodem send code. 2000-08-21 Eric Schendel * Finish cleaning, testing, and commenting of the xmodem receive code. I hope to not have to do any changes to this code for a long time. * Cleaned up a read method for the general transfer protocol. 2000-08-20 Eric Schendel * I hope to have first solid release done before the week is over. * Added removal of gmon.* files for make clean. * Did some light overall source cleaning up. * Did slight testing on xmodem receiving (I am almost comfortable with it). 2000-08-17 Eric Schendel * Xmodem receiving now actually writes to a file and works just fine. My next task to clean the code up more and put small comments in it, if needed, and then I will move onto sending files which should not be so time consuming to accomplish. * Made a change to error class of how it handles itself with if statements. * Im back from vacation, but I have alot of stuff to take care of before school starts back up in a week and half, like partying, so progress will be slow until till then. 2000-08-10 Eric Schendel * Im going on vacation for about a week and half so I will not work on this or have anything type of access to a computer (hence, vacation :) ). * Xmodem receive fully works to the best of my knowledge except for file writing which will be easy to implement and then it will be quick and easy to implement the Xmodem send feature by using basically the same structure. * Fixed some small glitches with changing the build system up. 2000-08-08 Eric Schendel * Cleaned up and streamlined build system along with getting files out of CVS which do not belong there. * Made major progress with Common C++ and getting the TTYStream class to work. My updates will be in the 1.2 release due to be on Friday. * Joined the Common C++ team. 2000-08-06 Eric Schendel * Basic Xmodem receiving finished and works. I still have to make it handle transfer errors properly. Right now if there is an error then the whole thing crashes. * Found some major bugs and added better uflow and underflow handling for the TTYStream class of Common C++. I submited a patch directly to author, so I hope he accepts it and a new release comes out soon. 2000-08-04 Eric Schendel * Received notification from David Sugar the author of Common C++ that he has added my fix to handle the error initialization problem. * Removed tty test routine. I will later make a Xmodem transfer test routine for use between the HP49 and hptrans and I will add this to the automated testing. * Making progress on Xmodem receiving. * Did alot of clean up and added a great deal of code to the protocol.cpp and protocol.H files. * Decided to create a DirectTransfer class which inherits the TTYStream instead of using ttystream. This class contains all the basic I/O read write routines and Xmodem class will inherit from that. 2000-08-03 Eric Schendel * Started working on Xmodem receive method. * Found a potential error handling problem with Common C++ where the error number is not initialized. I will report problem soon when I find a fix. * Create hptrans.cpp and hptrans.H to include primary hptrans functions. For now a tty test routine is included. 2000-08-01 Eric Schendel * Added documentation in the pod format which is used by perl's pod2man and pod2html programs. This allows one easy format to be used to create man pages and html. In future it might be use to create other formats. * The build system now include distribution of a man page. If pod2man exists then the man page is created everytime otherwise a default include man page is used. Also if pod2html exists then html is created. 2000-07-31 Eric Schendel * Fixed build to not crash if missing programs that are not necessarily needed such as astyle and kdoc for development 2000-07-30 Eric Schendel * CommonC++ is now checked for during configuration, and if it does not exist the build exists with an error message. 2000-07-29 Eric Schendel * I will be doing alot less for at least a week because I now have projects and finals coming up for school * Worked a very long time to get serial communications between the between the calculator and the Linux box. I decided to use Common C++ (current version 1.1.0). I found that their serial class was well done but there was a major problem when using iostreams. I wrote a nice size fix to take care of this problem and submitted it to them. I will later find out if it was my system or just something over looked which no one really uses. If they do not fix it by the time I am done with hptrans then I will write my own class for serial communications. I liked Common C++ because it would take me a long time to write something that flexible and looks like it has thread support which I will implement farther down the line. * Implemented CommonC++ into my build system so now configure will look for CommonC++. 2000-07-27 Eric Schendel * Setting up sourceforge some more and figuring some things out. So far I have figured out how the web page will work and I put a oneliner in the index.html file. * I have started a new cvs import on source forge, so I dont have to be responsible for system crashes and such. * Found header for README and INSTALL. I used figlet version 2.2 with the options '-c -f slant HpTrans'. * Found header for AUTHORS. I used figlet version 2.2 with options '-c -f straight "Authors of HpTrans"' 2000-07-26 Eric Schendel * Finished all comments in status.H. This will be very useful for keeping track of the Error and Log classes. * Finished with the command line parsing routine. I believe all needed options to get things started have been included in the parameters.H and parameters.C files. They need some comments but nothing like the StatusMsgs classes. I will do this later on when I feel that the way the parameters are handled is good and easy enough. * Finished up all the testing of all commandline options available so far, only for improper uses though. I still need to get use to except. It does not seem to be a stable program because results seem to vary on the gravitational pull of the moon or something, but it could just be me. 2000-07-25 Eric Schendel * Got accepted by sourceforge. I will wait a day before moving this project over there. Hopefully it goes over without any problems. * I decided on esche@users.sourceforge.net to be my email address 2000-07-24 Eric Schendel * Added a bunch more comments and cleaned up some code for easier readibility. I wish a fairy would do these comments while I sleep! * Fixed some small bugs in the status messages and parameters part of code. * Applied to sourceforge to start moving my focus on having a solid central site for this project. Hopefully it will all be available by tomorrow. * I found a good email account to use, but I will decide on this after I find out about sourceforge. 2000-07-23 Eric Schendel * Decided on a license! Going with good old GPL, so it is all set up now. * Cleaned up the parameters code and added some more comments. * Fixed up status messages so logs and errors look nicer. * Setup the build to properly include the testsuite so now 'make check' works and when dist is built the tests are also included. 2000-07-22 Eric Schendel * Finishing up some comments dealing with the status message classes. * Downloaded and played with Source Navigator program. I have been looking for something like this for a while to help me visually organize my code and make referencing and searching much easier. * Setup dejaGNU for testing. It took sometime to get use to it since I did not know tcl or expect that well. I was able to set up a test script to make sure some of the command line arguments are working properly. A concern for me is whether dejaGNU will transition well when I start going with a GUI. 2000-07-20 Eric Schendel * Started adding comments to source files and cleaned up some code. I still have a long way to go to get up to date. I also need to add a help display section for command line usage for use as a man page. 2000-07-19 Eric Schendel * Added a little bit more to information files such as README, TODO's, etc. * Did much research on figuring out how to go about documenting such things as man pages. Decided to use pod2man, etc, which is part of perl, as long as documentation for the user stays simple. This way I can easily produce man, text, latex, html, ps, and/or pdf from one source file. I should not need to make info files if user documentation stays simple. If things get complicated, I will create a sgml file to produce other formats including info. For easiness to create sgml files, I will most likely use Lyx. Overall, the only worry is keeping documentation up to date with the actual program information. I believe hptrans will be simple enough, especially by command line use, that this should not be hard to keep documentation up to date manually. But if I find a good automated way to do it, I will do it that way instead. * My next step before writing more code is to add comments to everything done so far before I forget what does what and to also find a good way to go about testing, which will most likely be a regression method. 2000-07-18 Eric Schendel * Decided to start commenting all classes using JavaDoc style and using Kdoc2 to produce htmls of class information. This will most likely be useless to a user but will be helpful to other developers and for keeping things organized as the project gets bigger. * Decided to use the Log and Error class as a big way of keeping track of portions of code, whether viewed in source code or during execution. This will help with keeping source comments concise and getting rid of bloating. 2000-07-17 Eric Schendel * Made a global parameters object to help consolidate all program options. * None of the source code is documented yet. I am still looking for a good way to go about this. 2000-07-16 Eric Schendel * Mostly finished StatusMsg, Error, and Log Classes. These help with giving visual (or debugging) methods of knowing how everything is executing. There are currently no comments what so ever for these classes. 2000-07-14 Eric Schendel * CVS is locally set up. * Basic build structure is mostly setup for development. 2000-07-11 Eric Schendel * Added source formating program so I can be lazy. * Automake is mostly set up, now just work on autoconf. * Starting the basic structure.

ChangeLog for Web Site

2001-03-28 Eric Schendel * Created a more helpful download web page. * Created a more useful development and documentation web page. * Fixed up the create_html_pages script to anticipate potential old file conflicts when building the web pages. * Updated hptrans description to something more colorful and updated the news. 2001-03-23 Eric Schendel * Created preliminary Links web page. * Added web site ChangeLog information to bottom of ChangeLog web page. 2001-03-22 Eric Schendel * Automated the creation of ChangeLog web page from current hptrans files. This makes use of the link directory. * Rewrote use of navbar to be a tag instead of being contained in every template file. * Add links directory to help with merging hptrans data files. * Starting to add information in README file about development. * Changed "Main Page" title to "Home Page". * Updated navigation bar for more project links. 2001-03-10 Eric Schendel * Updated news section and added old news page. * Added a preliminary screenshot page with a commandline capture. * Decided to use png for graphic display because it is smaller, but Im not sure if this works universially on linux web browsers. I really dont care if it works on windows or not (or at least for the time being). 2001-03-07 Eric Schendel * Added Email address in copyright notice. 2001-03-06 Eric Schendel * Added an introduction (This will be updated soon). * Added downloading section. * Made the main boxes' titles stand out more compared to the navigator boxes. * Created a cleaning script. * Automated creating a final tar package of html files, instead of using an external program. I don't ever see the actually web site getting big. * Broke up news into seperate files. * Reconstructed build system of website for using iglue better. * Created website and put it in as a CVS module.

This page was last updated on Wed Mar 28 14:43:13 2001.
Copyright in 2001 by Eric Schendel.

SourceForge Logo
Powered by iglue!