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.
|