2001-07-10  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/Makefile.am (tlp224e.rcp): Get tlp224e-in.rcp from $(srcdir).

2001-06-15  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/tlp224e.texi: Print on a4 paper.

2001-06-01  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* configure.in: Require autoconf 2.50 to work around Debian's
	automagic autoconf version selection.

2001-05-29  Alexandre Duret-Lutz  <duret_g@epita.fr>

	This breaks the API too.

	* include/tlp224e.h (TlpIccWarmReset): Add controlerType and
	iccType arguments.
	* src/tlp224e.c (TlpIccWarmReset): Handle controlerType and iccType
	arguments.

2001-05-29  Alexandre Duret-Lutz  <duret_g@epita.fr>

	This breaks the API.

	* include/tlp224e.h (TlpIccPowerOn): Add controlerType and
	iccType arguments.
	* src/tlp224e.c (TlpIccPowerOn): Handle controlerType and iccType
	arguments.
	* test/tlp-print.c (StartApplication): Adjust.

2001-05-28  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h (TlpControl): Mark commandData as const.
	* src/tlp224e.c (TlpControl): Likewise.

2001-05-23  Alexandre Duret-Lutz  <duret_g@epita.fr>

	Tweaks for compatibility with both Automake 1.4-p1 and Automake 1.4f.

	* Makefile.am (bin-dist): Use $(TAR) or $(AMTAR).
	* src/Makefile.am (LDFLAGS): Define using @LDFLAGS@ explicitely,
	using += is not supported here.
	(bin_PROGRAMS, tlp224e_prc_SOURCES): Replace by ...
	(prcdir, prc_DATA, EXTRA_DIST): ... these, or it won't work with
	Automake 1.4f.
	* test/Makefile.am (bin_PROGRAMS, tlp_print_prc_SOURCES): Replace
	by ...
	(prcdir, prc_DATA, EXTRA_DIST): ... these for the same reason.

2001-05-22  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/Makefile.am (TPLRUN): New.
	($(NAME)f.texi, $(NAME)c.texi): Use it.
	* include/Makefile.am (TPLRUN): New.
	(tlp224e_decl.h): Use it.
	* src/Makefile.am (TPLRUN): New.
	(jumptable.c, tlp224e.def): Use it.

2001-05-09  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* test/tlp-print.c (StartApplication): Move TlpConfigureLine.

2001-05-09  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/tlp224e.texi: Typo.

2001-05-07  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (TransmitFrame): Flush the received buffer before
	sending anything.

2001-05-04  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h: Warn that TlpConfigureLinePalm return a Err,
	not a TlpErr.

2001-05-04  Alexandre Duret-Lutz  <duret_g@epita.fr>

	Binary frame have a STX byte at the beginning.

	* src/tlp224e.c (SendStx, ReceiveAndDiscardUntilStx): New function.
	(SendHeader): Call SendStx.
	(ReceiveHeader): Call ReceiveAndDiscardUntilStx.
	* src/tlp224e_bits.h (tlpStx): New macro.

2001-05-04  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* configure.in: Bump version to 0.2.

2001-05-04  Alexandre Duret-Lutz  <duret_g@epita.fr>

	Support for other speeds, and binary mode (untested
	due to lack of proper hardware).

	* src/tlp224e.h (TlpSpeed, TlpMode): New enums.
	(TlpConfigureLine, TlpConfigureLinePalm): New functions.
	* src/tlp244e.c (Globals): Add baudRate and mode.
	(SendHex): Rename as ...
	(SendEncoded): ... this, and support binary mode.
	(SendHeader, SendFrame): Adjust to use SendEncoded.
	(ReceivData): Support binary mode.
	(ReceiveHeader): Add FIXME: for binary mode.
	(TransmitFrame): Rely on outLength rather than Etx to
	detect the end of a frame, so that the logic is correct
	in binary mode too.
	(TlpConnect): Use tlpDefaultRate.
	(TlpChangeRate, TlpChangeSpeed): New functions.
	(TlpConfigureLine, TlpConfigureLinePalm): New functions.
	* src/tlp224e_bits.h (tlpCmdLine): Rename as ...
	(tlpCmdConfLine) ... this.
	(tlpDefaultRate): New macro.
	* test/tlp-print.c (StartApplication): Add a commented
	call TlpConfigureLine.

2001-05-03  Alexandre Duret-Lutz  <duret_g@epita.fr>

	Version 0.1.

2001-04-30  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (TlpIccIncomingCommand): Interpret 0xe5 as
	tlpErrIccNok.

2001-04-27  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* test/Makefile.am (tlp_print_SOURCES): Suppress misleading comment.

2001-04-27  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/tlp224e.texi: Add version and date to the cover page.

2001-04-26  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (ReceiveFrameBody): Handle outputLength to
	never read the LRC as part of the data.

2001-04-26  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h (TlpKeyboardInput): Take a totalTimeOut argument.
	* src/tlp224e.h (TlpKeyboardInput): Likewise.
	(DoTransactionTimeOut): Handle timeout == 0 as `infinite'.
	* test/tlp-print.c (StartApplication): Adjust to pass a
	totalTimeOut value.

2001-04-25  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h (TlpControl): Add the responseTimeOut
	argument.
	* src/tlp224e.h (TlpControl): Adjust, use DoTransactionTimeOut.

2001-04-25  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* test/tlp-print.c (StartApplication): Test TlpKeyboardInput.

2001-04-25  Alexandre Duret-Lutz  <duret_g@epita.fr>

	Rework the timeouts handling so that the TlpIccPowerOn, and
	TlpKeyboardInput function take the timeout parameter into account.

	* src/tlp224e.c (Globals): Add receiveTimeOut and tickPersec.
	(CheckFeatures): Check for PalmOS 2.0.
	(ReceiveRawByte): Adjust to use g->receiveTimeOut.
	(DoTransactionTimeOut): New function.
	(TlpIccPowerOn, TlpKeyboardInput): Use DoTransactionTimeOut.
	* src/tlp224_bits.h (tlpReceiveTimeOutKbd,
	tlpReceiveTimeOutPower): New.

2001-04-25  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (TlpKeyboardInput): Typo, wrong command!

2001-04-25  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (SendHex, SendEtx, SendHeader, SendFrame,
	ReceiveRawByte, ReceiveData, ReceiveAndDiscardUntilEtx,
	ReceiveHeader, TransmitFrame, ReceiveFrameBody, SendNack,
	ReceiveFrame, DoTransaction): Adapt to pass the Global struct
	along all calls instead of the pair portId and err.

2001-04-25  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* Makefile.am (bin-dist): Remove distdir too.

2001-04-25  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/Makefile.am (.texi.pdf): Fetch texinfo.tex from ../tools.

2001-04-24  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224.h (TlpControl): New function.
	* src/tlp224e.c (TlpControl): New function.
	* doc/Makefile.am ($(NAME)c.texi): Typo.

2001-04-24  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/Makefile.am (.texi.pdf): Fetch texinfo.tex from ../tools.

2001-04-24  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/Makefile.am: Don't use non-portable $< in explicit rules.
	* src/Makefile.am: Likewise.
	* include/Makefile.am: Likewise.

2001-04-24  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h (TlpIccIncomingCommand): Typo.

2001-04-23  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h: More documentation.

2001-04-23  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (SetOutputSpecLength, IsLastOutputSpec):
	Eve out	from ...
	(ReceiveFrameBody): Here.  Adapt the return the status byte and
	ignore remaining output slices if outLength is 1.  Adjust all
	functions calling to DoTransaction to not fetch the status byte
	themselve but simply return the result of DoTransaction.
	(ReceiveFrame): Adjust to retry only on tlpConverstation errors.
	* test/tlp-print.c (StartApplication): PowerOn the card an display
	the Atr string.
	(ByteToHex): New function.

2001-04-20  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* Makefile.am (bin-dist): New target.

2001-04-20  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/Makefile.am (EXTRA_DIST): Remove.
	* doc/Makefile.am (EXTRA_DIST): Remove tlp224ef.def.

2001-04-20  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* test/tlp-print.c (StartApplication): Test that the library
	can be found in the syslib table after it has been loaded.
	This revealed a possible bug in SysLibFind (the library name
	offset can't be negative).

2001-04-19  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/Makefile.am (install-html-split): Install index.html too.

2001-04-19  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* configure.in: Move most of the code to ...
	* m4/palmdefault.m4: ... this,
	* m4/palmcheck.m4: ... this,
	* m4/doccheck.m4: and this.
	* m4/Makefile.am: Adjust.

2001-04-19  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/tlp224ec.def: Move to tpl/pl_const.tpl.
	* doc/tlp224ef.def: Move to tpl/pl_func.tpl.
	* doc/Makefile.am: Adjust.
	* include/tlp224e_decl.def: Move to tpl/pl_decl.tpl.
	* include/Makefile.am: Adjust.
	* src/jumptable.def: Move to tpl/pl_jumptable.tpl.
	* src/tlp224e.def.def: Move to tpl/pl_def.tpl.
	* src/Makefile.am: Adjust.

2001-04-18  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/tlp224e.texi (Top): Print summary.
	* src/Makefile.am (INCLUDES): Add -I. to find for VPATH build.

2001-04-18  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/Makefile.am (EXTRA_DIST_html): Ship index.html.

2001-04-18  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/Makefile.am: Generate pdf, and split-html (setup stolen
	from gettext).
	* configure.in: Check for dvips, texi2pdf, and texi2html.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/debug.c (DoBreak): Don't compile if NDEBUG.
	* configure.in (CFLAGS): Default to -Os.
	* m4/debug.m4: Use -fomit-frame-pointer if --disable-debug.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	Add a VERSION resource to the library.

	* src/tlp224e-in.rcp: New file.
	* src/Makefile.am (tlp224e.prc): Include resources.
	(tlp224e.rcp, resources-stamp, clean-local): New rules.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (ReceiveData): Add the flush argument.  Update all
	callers.
	(ReceiveFrameBody): Make sure an outputSpec has all its fields
	empty before considering it as a outputSpec terminator.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/Makefile.am (noinst_HEADERS): Rename as ...
	(include_HEADERS): ... this.
	* doc/tlp224e.texi: Fix copyright license.
	* COPYING: New file.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/tlp224ef.def: Handle examples.
	* include/tlp224e.h (TlpOpen, TlpClose): Add examples.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/tlp224ec.def: Call type and creator xxxLibType and
	xxxLibCreator.
	* include/tlp224e_decl.def: Likewise.
	* test/tlp-print.c: Use them.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/tlp224e.texi: Join function variables and concept indexes.
	* doc/tlp224ec.def: Document constants using @vtable; document
	constants for Creator, Type, and LibName.
	* include/tlp224e_decl.def: Define constants for Creator, Type,
	and LibName.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h: Typos, cleanups.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (TlpIccIncomingOutgoingCommand): Add the
	commandLength argument.
	* include/tlp224e.h (TlpIccIncomingOutgoingCommand): Likewise.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	Check presence of the new serial manager.

	* src/tlp224e.c (CheckFeatures): New functions.
	(TlpOpen): Call it.
	* include/tlp224e.h (TlpOpen): Document it.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (TlpSleep, TlpWake): Avoid ATTRIBUTE_UNUSED, cast
	to void instead.

2001-04-17  Alexandre Duret-Lutz  <duret_g@epita.fr>

	Send a Nack on conversation errors instead of sending the
	whole frame again.

	* src/tlp224e.c (SendFrame): Accept an `ack' argument to specify
	whether we send an Ack or a Nack.  Don't send a frame body if
	inSpecs is NULL.
	(ReceiveHeader, SendNack, ReceiveFrame): New functions.
	(ReceiveFrameBody): New function, eved-out from DoTransaction.
	(TransmitFrame): Use ReceiveHeader.
	(DoTransaction): Use ReceiveFrame.

2001-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* test/tlp-print.c (StartApplication): Remove the library
	when requested.

2001-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h: Cleanups.  Describe TlpKbdFlags.
	Most functions can return tlpErrPalmOS and tlpErrConversation.
	* doc/tlp224ec.def: Handle the doc attibute.

2001-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/Makefile.am (tlp224ef.texi, tlp224ec.texi): Prefix the
	template file with $(srcdir) for VPATH builds.

2001-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* test/tlp-print.c: Arrange to test for card presence,
	display the result on the terminal, and error codes
	on the palm.

2001-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (TlpConnect): Flush the receive buffer.

2001-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (TlpDisplayText): Work around the (bogus?)
	status code.

2001-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (SendFrame): Thinko, check the correct
	size for each slice sent, not the total length.  Flush the
	transmit queue for security.
	(ReceiveData): Initialize etxSeen to false.
	(DoTransaction): Report success on success.

2001-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>

	From the source-code-interferences department.

	* src/tlp224e.c (TlpIccPowerOff, TlpIccStatus, TlpIccWarmReset):
	Don't declare inData as static or it will end in the .data section.
	I fail to see why it doesn't go into the .code section since
	it's also const, and not unlike `conv' in ByteToHex.
	* src/jumptable.def: Typo, do not *call* the jumptable.  Also
	properly declare and align it.  Unaligned jumptable cause BUS errors.
	* test/Makefile.am (LDFLAGS): Remove -nostartfiles, we do need
	startup files!
	* include/tlp224e.h (TlpWake, TlpSleep): Reverse declaration order.

	Debugging aids.

	* src/debug.c: New file.
	* src/debug.h: New file.
	* src/Makefile.am (tlp224e_SOURCES): Add debug.c and debug.h.
	* src/jumptable.def (start): Call SetBreak and DoBreak.

2001-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* configure.in (GCC): Tweak to not add -g.
	* m4/debug.m4: Use -g, not -ggdb3.

2001-04-12  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* test/Makefile.am: New file.
	* test/tlp-print.c: New file.
	* test/tlp-print.def: New file.
	* Makefile.am (SUBDIRS): Add test.
	* configure: Output test/Makefile.

2001-04-12  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h (TlpIccIncomingCommand, TlpIccOutgoingCommand,
	TlpIccIncomingOutgoingCommand, TlpDisplayText): Declare command
	data and text as const.
	* src/tlp244e.c: Adjust accordingly.

2001-04-12  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h (TlpErr): Add error codes TlpErrPalmOS, and
	TlpErrConversation.
	(TlpGetLastErr): New function.
	(TlpIccPowerOn): Argument atrLength should be a pointer.
	(TlpIccWarmReset): Take atr and atrLength arguments,
	like TlpIccPowerOn.
	* src/tlp224e.c (Globals): Add the err attribute.
	(SendHex): Adjust to update an LRC argument.
	(SendEtx): Return true on failure.
	(SendHeader, SendFrame, ReceiveRawByte, ReceiveData,
	ReceiveAndDiscardUntilEtx, TransmitFrame, DoTransaction,
	TlpGetLastErr): New functions.
	(TlpIccPowerOn, TlpIccPowerOff, TlpIccStatus,
	TlpIccIncomingCommand, TlpIccOutgoingCommand,
	TlpIccIncomingOutgoingCommand, TlpIccWarmReset, TlpDisplayText,
	TlpKeyboardInput): Fill in the body.
	* src/tlp224e_bits.h: Adjust the ACK macros.
	(tlpReceiveTimeOut, tlpEtx): New macros.
	(OutputSpec, InputSpec): New types.
	(tlpBuildFrameHeader): Remove.

2001-04-11  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h (TlpOpen, TlpClose): Document more.
	* src/tlp224e.c (TlpOpen, TlpClose): Un/initialize connection
	and global data.

2001-04-11  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* src/tlp224e.c (Globals): New.
	(GetGlobals, SetGlobals, AllocateGlobals, LockGlobals,
	UnlockGlobals, FreeGlobals, ByteToHex, HexToNibble, HexToByte,
	SendHex, SendEtx): New functions.
	(TlpOpen, TlpClose, TlpWake, TlpSleep): Initial code.

2001-04-10  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h (TlpKbdFlags): Define.
	(creatorid): New def.
	* include/tlp224e_decl.def: s/struct/enum/.
	* Makefile.am (SUBDIR): Add src.
	* src/Makefile.am: New file.
	* src/jumptable.def: New file.
	* src/tlp224e.c: New file.
	* src/tlp224e.def.def: New file.
	* src/tlp224e_bits.h: New file.

2001-04-10  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h (TlpOpen, TlpClose, TlpWake, TlpSleep): New defs.
	(libname): New def.
	* doc/tlp224ef.def : Handle the `nodoc' attribute.  Don't display
	empty sections in functions documentation.
	* include/tlp224e_decl.def: Handle the `systrap' attribute.

2001-04-10  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* include/tlp224e.h: Define libprefix.
	* include/Makefile.am (tlp224e_decl.h): Use tlp22e4_decl.ord for
	ordering.
	* include/tlp22e4_decl.def: Define x_TRAP and x_SYS_TRAP macros.

2001-04-09  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* Makefile.am: New file.
	* configure.in: New file.
	* doc/Makefile.am: New file.
	* doc/tlp224e.texi: New file.
	* doc/tlp224ec.def: New file.
	* doc/tlp224ef.def: New file.
	* include/Makefile.am: New file.
	* include/tlp224e.h: New file.
	* include/tlp224e_decl.def: New file.
	* m4/Makefile.am: New file.
	* m4/debug.m4: New file.
	* m4/gccwarn.m4: New file.
	* tools/Makefile.am: New file.
	* tools/autogen.sh: New file.
	* tools/config.guess: New file.
	* tools/config.sub: New file.
