ITU Version History
1.04.27 - 26 February 2009
Changed the analog sampling to force a sample to be taken at power on.
Changed the writing of log records to wait for the completion of any analog conversion that might be in progress. This is how it used to work before the changes that were made with the introduction of the WIND option to the ^HASI command. The old code looked at whether the ADC was turned on, however, with the new sampling control code the ADC was being turned on after the sampling delay instead of before it. This new code now also looks at whether a sampling delay is in progress.
It was noticed that the presence of the RST option in the ^HLOP setting was not causing a log record to be written until on the minute following a reset. This was rectified by the addition of a call to the InstantTrigger function at startup.
1.04.26 - 24 October 2008
When starting newly downloaded code the SPE first sets its configuration to a predefined set of factory defaults. It then works through those setting that have been saved in the external dataflash; installing them as it goes. This means that any settings that were not saved to the external flash, such as newly introduced settings, retain their factory default values. This is, however, a relatively slow process due mostly to the multiple copying of the internal flash settings. An undesired consequence of this process has been the DAC output delivering 12V for the first sampling event after starting new code. This occured because the factory default was for 12V output and one second sampling and the DAC voltage setting was not read from the external dataflash until after the first sampling interval. If the sampling interval was set to longer than one second the problem was avoiding due to the sampling interval command, ^HASI, being earlier in the alphabetical order of commands than the DAC setting, ^HDAC, and so getting installed soon enough to delay the first sampling until after the DAC setting is updated. To solve this problem the factory default DAC setting has been changed to zero in this version.
1.04.25 - 13 October 2008
Fixed a bug with the direct reading (via ^HTMP command) of conventional temperature sensors. This was a bug that was introduced with the support for the Humidity-Temperature-Pressure sensor in version 1.04.24.
Fixed a problem with the units watchdog resetting occasionally. This was caused by a bug in the debug output code in which an interrupt flag was checked before entering a low power mode. There was a finite probability that the interrupt could occur after the flag was checked but before entering low power mode. After the last bit of a character was sent the interrupt was disabled from within the ISR. This could enable the low power mode to be entered after the interrupt had ben disabled. The interrupt is now disabled outside of the ISR. The modified debug output code is also less prone to produce corrupt characters.
1.04.24 - 7 October 2008
Added support for the Harvest Humidity-Temperature-Pressure sensor. Humidity reported by this sensor is reported in a additional field of the log record, along with the pressure, distinct from the temperature readings. This means that only one such sensor can be attached to a system but all eight temperature positions in the log record can still be used for temperature.
1.04.23 - 11 September 2008
Made it possible to use up to eight wireless temperature sensors by:
- Removing the assignment of error codes to temperature reading positions one and two when wired sensors are not connected.
- Making the assignment of humidity readings to temperature reading positions five and six conditional on humidity sensors being detected.
Previously only four wireless sensors could be used.
1.04.22 - 6 August 2008
Changed the analog sampling so that the wind direction input (analog input 2) can be sampled independantly of the other analog inputs. This allows the analog inputs to be configured for sampling less often and with a sampling delay and still have the wind direction sampled every second. The sampling interval command, ^HASI, now takes a second optional parameter, WIND, that enables wind sampling every second regardless of the selected sampling interval.
The digital groups have been extened to now include the four radio temperature sensor digital inputs (13-16).
Fixed a bug with the ^HWHY command and announcement option returning incorrect causes.
Note that ITU and MIB variants of this version reduce the number of buffer pages from 18 to 17.
1.04.21 - 15 May 2008
Modified bootloader to set DAC output to zero imediately after reset, before the RAM is initialized and the flash is checked. This limits the duration of the DAC power on glitch. It was discovered that at power up the DAC output went to full supply voltage until after it was configured. It wasn't possible to completely eliminate this problem but by changing the bootloader code it was possible to reduce the duration to less than a millisecond.
Reduced the cell phone power lockout time from 30 seconds down to 10 seconds. It had been set to 30 seconds to cope with some of the g18 engines that took an extended period without power before the reset circuit would operate correctly.
An interesting problem occurred with restarts after code downloads not working. This was found to be caused by the cellphone keeping the GPRS session alive despite the loss of DTR during the restart. This is a consequence of the change in the DTR behaviour setting (&D1) that was introduced with version 1.04.04. Following the restart the GPRS session was suspended so attempts to initiate a new session are rejected. A further twist is that because the session still exists the carrier detect is still active so the SPE keeps the cellphone on to allow pass through operation of circuit switched data. If the DTR timeout was set long enough then after five minutes the SPE would power cycle the phone and all would come right.
To address this problem the SPE now checks carrier detect at power on and terminates any suspended GPRS session. Also the connect timeout was reduced from five minutes to three minutes.
1.04.20 - 29 January 2008
An error in the code was noticed that could result in some variables being corrupted when expired temperature readings are cleared. The variables that would be corrupted all relate to the reading of temperature. No effect of this bug has been noticed. Possibily because an effect of the bug is to suppress its own action.
1.04.19 - 8 January 2008
Fixed problem, introduced with the ^HCPD command in version 1.04.04, that caused the Cabco 'E' command to not work when not in low power mode. The RS232 transceiver was being shut down when the 'E' command was being sent.
1.04.18 - 19 December 2007
Ever since the logs have been stored in dataflash there have been occasional problems with units stopping logging. One mechanism that can cause this problem was discovered and this version addresses it.
1.04.17 - 15 October 2007
Fixed a parser bug with the ^HDTO command that prevented setting the extension time to zero.
1.04.16 - 11 September 2007
Made changes to speed up the processing of an outgoing UDP packet. For a full packet this was found to be taking around 36ms which is enough to result in data loss when fed a 9600bps stream without flow control. The major changes were a new GetBufBytes() function that speeds up the CompleteUDPHeader() function and also the debug was reduced for the case of a full packet. The changes reduced the full packet processing time to around 24ms.
1.04.15 - 31 July 2007
New variables, HOT and COLD, have been added to support temperature based logging and calling (^HLOP and ^HSCO) for sensors other than just sensors one and two. The new ^HTHC command has been added to configure these variables.
Added ^HRFG command to read the group setting of the radio temperature sensors. The group is not directly readable but this returns the group value from the most recent temperature reading that was received.
Added tracking of the temperature sensors RF signal strength separate from the temperature reading. This makes the code easier for the min/max checking and also means that the reported signal strength of an absent sensor is now zero instead of 15.
The following changes were made to free up additional code space. These should have not noticable effect.
Moved the table of command names from commands.c to parser.c so that the strings that duplicate those in the parser's command table would be merged. Duplicate string merging only works within the same source file.
Changed the command table entries to use a Boolean to indicate whether it's a set command or an execute command. This made each entry one byte smaller but because this took the entry from an odd to an even number of bytes the effective size of each entry was reduced by two bytes.
Rewrote the CopySetting() function in globals.c to be separate CopyAllSettings() and CopyExclude() functions. This allowed the CopyExclude() function to use a series of calls to CopyFlashWord() and CopyFlashDWord() functions that had the source and destination parameter block addresses coded into them. This reduced the parameters to just an offset of the element to copy and reduced the size of the calling code.
1.04.14 - 26 July 2007
Changed reset value of temperatures from zero to -884. This is because with the radio temperature sensors an SPE can reset and write a log record before it has received reading from all of its sensors. With wired sensors the SPE took the reading when it needed them so this wasn't a problem. Using an error value avoids the generation of false frost alarms.
Changed the debug port output of the radio temperature sensor signal strength to include a decimal fraction. This is to assist with range testing.
In order to gain a little more code space two new functions were added to the globals.c file, CopyExclude() and CopyAll(). This are essentially wrapper functions for the CopySetting() function but with reduced parameters. By reducing the number of parameters, around 400 bytes was saved from the Commands.c SetParameter() function where the CopySetting() function was used repeatedly.
1.04.13 - 26 June 2007
Added support for radio temperature sensors.
Changed method of expiring temperature readings so that they are only discarded once they are between 90 and 120 seconds old. This is a futher development on the change of version 1.04.07 which sometimes recorded error readings when the interval between logs was sufficiently short. The asynchronous nature of the radio temperature reports caused this to show up more.
1.04.12 - 5 April 2007
Version 1.04.06 included a change to the InstantTrigger functions that was to help with interrupt execution time. A bug was found with this, and corrected in this present version, that was preventing the instant triggering of log writes. Instant triggering of calls was not affected.
Also made a minor change to the phone power on check to try and help with the problems we've had with the MIB modules. Due to being unable to repeat the fault this possible fix is unconfirmed.
1.04.11 - 8 March 2007
Fixed a problem with the counting of the digital inputs. The input port interrupt edge select was being toggled before the interrupt flag was being cleared. This meant that if a second edge occurred in the time between the first edge (and interrupt) and the clearing of the flag then the edge sensitivity would get out of phase with the input signal. This could lead to lost counts before they got back in sync again. This problem only shows up when signals with fast switching noise, such as you can get from some relays, are used. By clearing the interrupt flag before the edge select if the input has already changed state then the interrupt flag will be immediately set and a second interupt will be processed.
1.04.10 - 21 February 2007
Fixed a problem with the most significant bit (last sent) of debug port characters being stretched. This was happening because the SendCharDebug function was only waiting until the transmit buffer word was zero and this happened just after the start of the last data bit, once the compare was configured to send the stop bit next. The wait was changed to look at the interrupt enable flag since this is only cleared at the end of the last data bit.
Added a new announcement option, HNC (NC for New Context), that indicated if the SPE has established a new PDP context. The flag is set when a new context is started and cleared when the SPE receives a valid UDP packet. The purpose of this announcement option is to make it easier to calculate chargable data usage when there is a volume rounding applied to each session.
Changed the reporting format of the ^HWHY command and announcement option to be more consistent with other commands.
1.04.09 - 12 February 2007
Fixed problem with selection of announcement fields HRI1 through HRI4 using the ^HAFS command. The code was matching the HRI option first and then returning and error when it looked at the next character (the digit). The new code now looks in reverse order so the longer sequences are checked first.
1.04.08 - 16 January 2007
It was found that the T10 event didn't work. This was tracked down to a precedence error in the code that set it and was fixed by adding an extra set of parentheses.
In Globals.h there the LOP_TIMEEVENTS defines were missing the SCT and ICT2 events. Also the LOP_DELTAEVENTS were missing the C3 and C4 events. There are no adverse consequences of these omissions but they are now corrected.
1.04.07 - 15 January 2007
An issue was found with the DTR timeout extension (the new, second, parameter of the ^HDTO command). If the ^HDTR=0 command was used to terminate a session the DTR extension was then applied afterwards and delayed the session termination. The order of these was changed so that the DTR timeout is now extended before commands are processed.
Until now, when additional, numbered, temperature sensors are used the readings are held if the sensor can't be found. This differs from the primary temperature sensors that report errors. This code version changes this behaviour so that errors will now be reported for sensors that can't be found.
1.04.06 - 18 December 2006
Made the ^HRI command (read digital input) work again for analog inputs. This used to work before source code unification at version 1.04.00.
Added the ^HAIF command to allow the analog input filters to be enabled or disabled. For certain low power applications the analog inputs are sampled at a very low rate. For these applications the delay caused by the analog input filtering is too long so the filtering is undesirable.
The DTR timeout command, ^HDTO, has had a second, optional, parameter added. This second parameter is used to specify a timeout value that is used after data is received. If the second parameter is used then the DTR timeout is set to this value each time a valid packet is received by the SPE. This allows extended sessions and quicker hangups on failures.
The connect timeout is now reduced to one minute once PPP negotiating starts. This timeout starts off at five minutes and is used to decide to power cycle the modem should a session not be established in a reasonable time. By making this shorter once we get to the negotiation phase there is less delay if power cycling is needed. This was changed to go with the change in the DTR timeout to facilitate a shorter DTR timeout period than the default of ten minutes.
It was found that if an SPE command was entered directly after termination of a call then it would always fail. This version adds resetting of the LastChar variable in the PPP.c file so that the start of a command is correctly identified.
It was noted that during a code download some characters were being lost. This problem was previously addressed in ITU version 1.03.01 but showed up again. This was, once again, caused by the RTC interrupt handler taking too long. This time it was addressed by use of an improved modulo function, some speed enhancements to the InstantTrigger function, and less frequent use of this function from within the interrupt handler.
In the Commands.c file the ShowHelp function was changed to use the command name from the CmdNames array rather than having the command name embedded in the help string. This saved constant space by reducing the string sizes and allowing duplicate strings to be merged. When they had the command names in the help strings there could be no duplicate strings. Also changed the string output functions to insert a carriage return before any newline characters. This saves storing all the carriage return characters. A newline character can still be sent without a carriage return by using the character output functions.
1.04.05 - 17 November 2006
Added Hayes type, "+++", escape sequence support.
Added filtering of analog inputs. The latest six reading for each analog input are held in memory and a filtered value calculated by discarding the highest and lowest reading and averaging the remaining four.
Fixed a bug that was causing the phone to be power cycled unnecessarily. An extra timeout had been added, to improving performance with the g24, but this was not being initialized correctly every time.
1.04.04 - 13 September 2006
Fixed bug that was causing the analog reference to be left on if the analog sampling interval was set to greater than 25 seconds. Bug was introduced at version 1.04.00.
Made sending of the second two pings to the second IP address (as well as the first) dependant on the address having been set.
Added ^HCPD command to allow setting of a delay before the cellphone module is powered down. This command can be issused by the host end software to allow a circuit switched call to be made to an SPE within a time window (up to one hour) after the call. Also changed the behaviour of the DTR absent loop to allow passing of data between the RS232 port and the cellphone. The RS232 converter is power up based an activity. SPE commands are still not processed in this DTR absent mode.
Made of output operate timers (^HOOT) operative for all code variants and not just the ITU.
Added ^HCMD command.
Added further announement options. Digital input counts three and four (HCNT4 & HCNT4), anlog inputs four and nine (HRA4 & HRA9), and the call reason (HWHY) are now available as announcement options.
Fixed bug with ^HRSV result presentation. When the first decimal digit was a zero it was showing as a space.
Fixed bug with MPS430 Port5 outputs being cleared when the 'HC595 was updated.
1.04.03 - 22 February 2006
Changed module power up code to assert DTR (active low) to the module so that the modem-in-a-box SPE could turn on the module. Recent code versions have used the on/off line for power control instead of the ignition line. This was done to allow operation with the g24 module that has a higher ignition line voltage requirement. However the MIB doesn't have the on/off control line on the connector. Instead the ignition line must be used. The MIB also allows the DTR line to be used such that if DTR is asserted then the ignition line will be pulled up to the supply voltage regardless of the state of the ignition input to the MIB. This code version uses the on/off line and DTR since only one of these will affect any particular hardware platform.
Made The ^HREF command effective for the SPE. This is useful with the MIB SPE since this version includes the external voltage reference.
Added a receive idle timout feature. This is for SPEs that are intended to remain on line all the time. The new ^HRIT command specifies a timeout period that is used to detect a loss of communication. Each time a UDP packet or ping request is received the SPE resets its receive idle timer. If this timer expires then the SPE will reset the phone module and establish a new GPRS session (provided ^HPOC is set correctly) in the same way is does for a ping response failure. To use this feature requires that the host computer talk to the SPE often enough to keep the session alive.
Compared to the ping test the receive idle timout has a couple of advantages. Firstly it can reduce the data volume in certain applications where the ping traffic makes up a significant portion of all traffic. The other advantages comes from a reliability issue. It has been found that in some fault situations the SPE can send a ping and receive a reply but a UDP packet sent to the SPE a few minutes later will fail to arrive. Under this condition the SPE ping test doesn't help but the idle timeout will. By having the timeout reset by a UDP packet or ping request the host computer can either talk normally to the SPE via UDP or can send it a ping. The SPEs ping test can be used as well since this will only cause the SPE to receive ping replies which are ignored for the purpose of resetting the idle timeout.
1.04.02 - 14 February 2006
Fixed problem with reliable reading of temerature sensors. Due to a bug with the bit mask being used to read the analog inputs as digitals (the symbolics used represented the bit numbers rather than the actual bits) the active pull up was being turned off. This left the sensors with a low power supply and caused inaccuracy in the readings. Typical error was less than one degree. This bug was introduced with version ITU_1.04.00.
1.04.01 - 10 November 2005
- Not Released
Added check of date when reading log records from flash. If the date and time field is zero the SPE retries up to three times.
Moved the update of the HC595 that occurs in response the the output operate time expiring from the timer overflow interrupt to the main loop. This is to avoid conflict with the temperature reading and flash access that use the same SPI lines.
1.04.00 - 28 September 2005
This version unifies the g20 SPE and ITU source code.
Fixed display of digital input four state when it appears as an announcement field.
When changing the analog thresholds, if the optional level threshold was not specified then it would change to 65535 rather than remain unchanged as it was supposed to. Fixed this.
The hour and minute fields in the default scheduled call times were reversed. This was fixed in g18 version 2.02.04 but missed getting ported to the g20 code.
Added ^HRSV command and HRSV announcement option. This command and option read the supply voltage and return the result in volts. The purpose of this is to allow a platform independant option since the ITU uses input nine for the supply and the SPE uses input three.
Added a second remote IP address option, ^HRIP2. After the third announcement the SPE alternates between the two remote IP options. Each of the two IP addresses has an associated port pair. If a response is received from the second IP address then this is used for subsequent transmissions from the SPE regardless of the ^HRTS option setting. The SPE looks for, and addreses to, the port pair associated with the IP address that it is using. However, it always uses the ^HRIP1 port pair for it's own port numbers. That means that any packets sent to the SPE should be addressed to the ^HRIP1 ports regardless of the address they are being sent from.
Also made the port number an optional parameter for the ^HRIP commands. If omitted the port number is unchanged.
Fixed Cabco 'E' command operation when in low power mode. The RS-232 driver is now kept on long enough for a response to be received.
Fixed a problem with manually initiated calls failing within 20 seconds of a previous session termination. This had not previously been identified as a bug. It was found that the g20 would not accept another dial command for 20 seconds after a previous call. A 30 second retry time was added to the dial command operation to cover this.
The default IP address was changed from the old harvest.com ADSL address to the new direct internet access (DIA) frame relay circuit address (210.55.246.26).
Made the default ^HREF value 256 (0x100) so the the supply voltage is measured against the external reference. This was found to yield significant improvements in accuracy.
Added ^HWHY command to help explain the most recent log and call reasons. This is intended to help with debugging in a few cases when it is difficult to understand why so many log records are being writted or calls made.
A problem had been found such that when certain combinations of three of more Dallas sensors were fitted to the same bus the enumeration would fail to find all of the sensors. This was due to a bug in the enumeration algorithm. This version incorporates a revised search algorithm that correctly finds all sensors.
1.03.01 - 25 August 2005
During flash downloads it has been noticed that it is normal for some packets to fail. These show up as a timeout at the server end and as a bad FCS at the SPE's debug port. Investigated found that the problem was a single character being lost from the packet when received by the SPE's micro. The cause was determined to be the tick interrupt taking longer than the inter-character time of the 38400bps link between the micro and the g20 module. This only occured on second incrementing interrupts so most of the time there was not character loss. Recoding of certain portions of the ISR to reduce the use of the modulo operator enabled the probability of error to be significantly reduced.
To compliment the changes of version 1.03.00 a new command, ^HFBUP, has been added. This command copies the current code version from the internal flash to the external dataflash. This then acts as a backup copy should the internal flash become corrupted. To allow checking of the internal flash a utility program has been created that will take the standard TI text file and calculate and insert the CRC in the correct location. Previously a default CRC value was used in non-downloaded code versions but this didn't allow validation of the internal code.
In earlier versions, when the default CRC was used, the presence of the default CRC value was used to detect an initial code version and this was indicated by the 'i' suffix. This code version makes this detection mechanism no longer usable. Instead the CRC calculation utility puts a second copy of the CRC in the non-downloaded region of flash. By comparing the CRC in the non-downloaded area with the downloaded CRC the SPE can distinguish between initial ('i') and downloaded ('d') versions. The presence of a default CRC value is now indicated by a 't' suffix meaning test code.
At the time of writing an engineering sample of the new g24 was available. Testing indicated a problem with turning it on. Further investigation showed that the minimum voltage required on the ignition line had been increased to at least 3.8V. Since this was not possible with the existing SPE hardware a change was made to use the on/off line to control the power. This is compatible with both the g20 and g24 modems.
It was also noted that the sample g24 was configured for 19200 (both +IPR and +CBAUD) but had factory defaults (&F) of 38400. The manual indicates these should both be set for autobauding so this needs to be checked once production versions are available.
1.03.00 - 17 August 2005
A problem was observed with a number of SPEs where their internal flash memory was corrupted. Some units were found to have erased pages; others had bytes writted over without being erased (i.e. extra bits cleared). The cause of the problem has not be found but appears to be associated with powering up the SPE. This version attempts to protect the SPE from such failures.
- Writes to the flash memory for parameter updates (in globals.c) are now range checked and an attempt to write to an invalid address results in a reset.
- In the non-downloaded bootloader code the internal flash erasure and writing functions now require the flash control register password as a parameter. This is now returned by the _ndlCheck041Code function and passed along.
- Whenever a flash parameter setting is changed a flag is now set and when DTR is next dropped the settings are written to external flash as they are with a code update. This ensures an up-to-date copy to use should the unit need to restore factory defaults, as it would do if the internal parameter page was erased.
A consequence of the change to the bootloader is that if an SPE is programed with this version and then has an earlier code version downloaded to it then it will not be possible to download to the unit again.
1.02.04 - 13 July 2005
A bug was found with the parsing of MIME strings such that the character count was wrapping around when it overflowed the byte range. This resulted in strings of exactly 256 characters, which can occur during a flash download, being mistaken for zero length and being rejected. In this code version the count variable is increased to a 16 bit value. A check was also added to the downloading software to pad any MIME strings of exactly 256 characters and hence avoid the problem.
1.02.03 - 16 June 2005
It was found that ITU versions before 1.02.00 could suffer from a stack overrun problem when executing certain commands remotely. Investigation revealed that there were several instances of local constant arrays being copied onto the stack. This caused unexpected amouts of stack usage. One possible consequence of this problem was the operation of the relays and sebsequent flattening of the battery. To fix this problem all local constants were made static. Also the memory allocation order was modified to put the least used buffer pages at the top of memory and closest to the approaching stack.
A new command was added, AT^HOOT, to allow the user to specify operate times for the relays. If the corresponding setting is non-zero the ITU will turn off the relay that number of seconds after turning it on. A zero value may be used to indicate that the relay should stay on. When low power mode is enabled the zero value is not allowed and will result in a one second operation.
1.02.02 - 31 May 2005
When talking to Dallas 1-Wire devices a 1µs delay was added between turning on passive pull up and turning on active pull up. This reduced di/dt and hence ringing. This was particularly important when talking to RFI filtered sensors since the fast di/dt caused the resonant circuits in the filters to ring which in turn caused the Dallas devices to see a false read time slot.
It was found that in the rare event of a network originated termination of a PDP context the SPE did not correctly reset all of its variables associated with that context. This was fixed.
A problem was found where the g20 would turn off just after establishment of a PDP context. The SPE did not recognize this and would sit there with not active session when it should have had one. In situations where a DSR to DTR loopback was used DSR would drop and the SPE would sit waiting for DTR that it wasn't going to get. Checking of the g20 power on state was added to each of the two sub-loops of the main loop.
1.02.01 - 28 April 2005
Flash downloads were causing all settings to be lost. The cause of this was found to be a bug when writing out the settings to external flash. This was fixed by changing Commands.c to write the settings correctly and 45DB041.c to read the corrupt settings written by earlier versions. The corruption only affected the ^HAFE setting (first on the list) but earlier versions aborted reading once they hit the first error so everything was lost.
1.02.00 - 21 April 2005
Added support for multiple temperature sensors per Dallas bus port.
Added support of offset calibration of temperature sensors.
The new ^HDAL and ^HCAL commands have been added to support the multiple and calibrated temperature sensors.
Fixed behaviour of count query commands (^HCNT1? etc.).
1.01.04 - 13 April 2005
When no Dallas temperature sensors were detected the XOut1 and XOut2 lines were being left pulled low against the pull up resistors R411 and R421. This was wasting power. This software version fixes this.
Added a low power wait when not busy to the DTR true loop in order to save power.
Added S24=3 to the g20 initialization string to enable the g20's sleep mode. Also added control of the g20 wakeup line so communication with the g20 could be reliably recommenced after a sleep.
Changed the debug send character function to wait until the character has been sent or skip sending if the interrupts were turned off. Adjusted when the power on message is sent so that it now doesn't get sent until the interrupts have been enabled.
Changed timing of power up LED flash to be more consistent and independant of the error and progress flash codes.
Added setting of the 'HC595 in the startup code to prevent false operation of the relays.
Added support for RTS flow control of data from the g20. This solved a problem with a packet being lost during the LCP negotiation. This had only been a problem since the change to non-queued debug printing.
Increased time to live (TTL) on outward IP packets from 32 to 64.
Removed many of the multiply operations in the Raingauge module. This was a start towards freeing up the multiplier for use averaging ADC samples. The 0.1µF capacitor added to the soil moisture input seems to have done the job so the averaging of very large numbers of input samples will probably not be needed.
1.01.03 - 8 March 2005
Added HRI as an announement option.
1.01.02 - 3 March 2005
Fixed call establishment/SendPacket bug as per g20 version 1.00.12. The bug exhibited itself a little differently in the g18 version but still the same bug.
1.01.01 - 28 February 2005
Changed debug printing to be non-interrupt driven.
Added debug command ^HRAM, adjusted buffer allocation and stack size to avoid issues of the stack running into variable memory.
Added flash codes for progress (green), errors (reds) and data transfer.
Fixed transparent mode bug as per g20 version 1.00.11.
1.01.00 - 9 February 2005
Development version only. Wasn't supposed to go out at all.
|