+-----------------+
| U.C.B. - RSR641 |
+-----------------+
REQUESTED FUNCTIONS
- switch off the price display in the digital display when the motor is not detected in the motor map.

PENDING POINTS

ripristinare il featureLevel per il cashless pCashless->Setup.Feature_Level >= 2

7.7.V: 2015.08.06
-----------------
- RSR641 :      - when both MDB and micromech where connected there was some conflict on AMD bus
                - check muximum MDB bus hold when mcromech is active, and measured < 50ms
                - on power up, sometimes, the micromech will release a coin; signal P0.5 was enabled BEFORE the TPIC6C595 was initialized by SPI

7.7.U: 2015.08.04
-----------------
- RSR641 :      - MDB bill/cashless active even with Micromech
                  Micromech is tested only after machire reset, and if detected has priority over MDB coin mech.
                  Worst timing for MDB must be tested

7.7.T: 2015.07.25
-----------------
- RSR641 :      - checked Micromech coin changer TRC6000 and Coinco 9300 on ROWE5900, VEIDOOR and AP113

7.7.R: 2015.07.23
-----------------
- RSR641 :      - Fixed the issue introduced with the 7.7.M revision to enable the exit from the programming menu with key command
				door close:
					it is not possible to enter the programming menu using the button on the board
					it is possible to enter the programming menu using the serial command <STX>key;~
					it is possible to exit the programming menu using the serial command <STX>key;~ or the key 4 at level 0 (using the serial key command or the keypad)
				dor open
					it is possible to enter the programming menu using the button on the board
					it is possible to exit the programming menu using the serial command <STX>key;~ or the key 4 at level 0 (using the serial key command or the keypad) or closing the door
					it is possible to enter the programming menu using the serial command <STX>key;~
					it is possible to exit the programming menu using the serial command <STX>key;~ or the key 4 at level 0 (using the serial key command or the keypad)

7.7.Q: 2015.07.17
-----------------
- RSR641 :      - in the previous releases swapping an expired card on the cashless, some selections were however delivered
				- Auxiliary led routine modified


7.7.P: 2015.07.02
-----------------
- RSR641 :      - starting from 7.7.N, modified routine for aux leds


7.7.O: 2015.07.02
-----------------
- RSR641 :      - LCM123/VEILCM error aux leds in flashing mode (due to test on LED3 instead of LED2)
				- an all machine using an5/an6/an7 as aux led in flashing mode, the STOP_MOTORS() macro disable the first blink 


7.7.N: 2015.06.29
-----------------
- RSR641 :      - LCM123/VEILCM led issue corrected

7.7.M: 2015.03.13
-----------------
- RSR641 :      - (JIRA issue UCB 18) with serial line command <STX>key;~<CR><LF> is possible to enter and exit programming menu
				  with door open and closed
				- (JIRA issue UCB 15) the problem on snakky should be solved (it has the some behavior of Samba, but can use all the selections)
				- (JIRA issue UCB 23) a timenout of 2 second has been added before starting homing motor procedure

3.2.0: 2015.03.09
-----------------
- RSR641 :      - production release identical to the 7.7.L

7.7.L: 2015.03.09
-----------------
- RSR641 :      - AP7000 led dimming issue fixed
- RSR903 :      - Added Snakky revision

7.7.K: 2015.03.06
-----------------
- RSR641 :      - AP7000 led swapped problem fixed

7.7.J: 2015.03.06
-----------------
- RSR641 :      - AP7000 led swapped problem fixed

7.7.I: 2015.03.06
-----------------
- RSR641 :      - leds control on VEILCM, LCM123, ROWE5900, AP7000
				- AMS39 can't use led because driven on cathodes (like motors); the current sensors is used to get the home position of motors 
	
7.7.H: 2015.02.18
-----------------
- RSR641 :      - modified test motor presence in main.c

7.7.G: 2015.02.05
-----------------
- RSR641 :      - dicounted selection on rowe5900
				- 16 as max num of days needed to reset dicount on selections
	
7.7.F: 2015.02.03
-----------------
- RSR641 :      - Lockout 5 enabled

7.7.E: 2015.02.10
-----------------
- RSR641 :      - rowe5900 motor test
				- led on an7 disabled on lcm123 and veilcm to enable tray8	

C.3.1.0: 2015.01.29
-----------------
- RSR641 :      - rsr 77D becomes a realease revision, called C.3.1.0
	
7.7.D: 2014.12.18
-----------------
- RSR641 :      - corrected DEX field for cashless 2 to DB
                - changed command MAXCREDIT to enable setting of bills accepted even if Coin ChangeGiver is not present
                  MAXCREDIT;xxxxx	will set maxcredit value
                  MAXCREDIT;xxxxx;bbbb	bbbbb is the value of the maximum accepted bill if no other condition apply
		
7.7.C: 2014.12.17
-----------------
- RSR641 :      - added DEX field for cashless 2
	
7.7.B: 2014.12.13
-----------------
- RSR641 :      - LCM123 DEX filed PA201 corrected
                - LCM123 selection tray H included, LEDs cannot be managed in this revision because of
                         conflicting use of same anode for LED and MOTOR. To enable tray H LED must be disabled
	
7.7.A: 2014.12.09
-----------------
- RSR641 :      - merged revision 7.6.Z and 7.6.Y
                - VEILCM motor homing excluded
	
7.6.Z: 2014.12.08
-----------------
- RSR641 :      - changed timeout in motor test for LCM to be compliant with the timeout used in making a selection ( 600ms )
                - updated display of selection in motor test using the standard "displaySelection(..)" function
                - enable working of the machine with a recycler even if the coin changer is not connected
                  ATTENTION : the VNR2700 recycler has to be set to work in rE mode; is set in the standard L3 mode
                              it needs a changer connected otherwise will disable itself.
                              in L3 mode the recycler will act as a 1US$ tube.
                              To change the mode : enter the SU menu, select IF and finally select the rE interface mode.
	
7.6.Y: 2014.12.05
-----------------
- RSR641 : 	- salses tax
			- test motor 

7.6.X: 2014.12.__
-----------------
- RSR641 :

7.6.W: 2014.11.18
-----------------
- RSR641 : 	- fixed issue on the motor test

7.6.V: 2014.10.21
-----------------
- RSR641 : 	- second cashless enabled

7.6.U: 2014.10.21
-----------------
- RSR641 : 	- fixed upfront issue

7.6.T: 2014.10.21
-----------------
- RSR641 : 	- max price: if a price greater than 654.99 is set, an error is shown and the value displayed is 0.00
		    - password: the first menu accessible is "AUDIT"
		    - the upfront selection iterator is incremented only if the credit is >= than the price

7.6.S: 2014.10.17
-----------------
- RSR641 : 	- dex PA fields sorting
		    - access/audit password restored as 220
		    
7.6.R: 2014.10.16
-----------------
- RSR641 : 	- dex PA fields sorting

7.6.Q: 2014.08.01
-----------------
- RSR903 : 	- modified GIII keypad

7.6.P: 2014.08.01
-----------------
- RSR903 : 	- modified Gdrink keypad

7.6.O: 2014.08.01
-----------------
- RSR903 : 	- modified Fastcorp keypad and timeout
			- bevmax timeout

7.6.N: 2014.08.01
-----------------
- RSR903 : 	- added GDrink keypad ( From: Chris Goumas Sent: Wednesday, July 23, 2014 8:43 PM
					To: Glen Johnson; Kevin Wysocki
					Cc: Steve Frackowiak; Aviel Dafna; Tier2; Lauren Haney; Janice Schenk; Yanira Santini
					Subject: AB InBev to borrow 55" SandenVendo G-Drink for event
				      )

7.6.M: 2014.07.20
-----------------
- RSR641 : 	- max credit to 654.99
                - when character 0x7E is received as parameter from the KEY; command, the machine is forced into PROGRAM mode
                  and the status will show the program mode using a ;P string added to the Status? answer
                  The UCb will exhit from the host forced programming mode after 30" no character is receined as parameter if the KEY; command
                - added currecny detection from the payment system answer. Only USD, GBP, EURO are handled in this revision
  
- RSR641 :	- update the bootloader 0008 release; the NonVolatileSetup struct was not initialized but saved, erasing all previous
			 settings; the problem was present when MMC card was found; 	
	
7.6.L: 2014.06.24
-----------------
- RSR903 :       - answer sels? with only available selection in Samba/GSnack
                 - the tray order in GSnack ise reversed from standard machines, changes the firmware to handle this given the VEConnct is not able

7.6.K: 2014.06.22
-----------------
- RSR641 :	 - added Events? command
                 - on Merchand6, the Excrow motor activation was counted as a selection on Dex file : removed the counting
                 - on Merchand6, when the Escrow motor selection will fail, the available cash is increased by the value of the previous selection made
                 - solved an access conflict on maxCredit from interrupt, cretaing unneeded updates of maxcredit to the cashless systsme ( see line 3120 file uart.c )
                 - when cashless is reset, the CARD_OUT event is sent ONLY if the cashless system was at least in IDLE status ( see line 2923 file uart.c )

7.6.J: 2014.05.27
-----------------
- RSR641 :	 - Sels? command will answer with the available selections also of connected slave machine
                         If the slave machine will not support this command, master will report all selections on slave as available


7.6.I: 2014.05.16
-----------------
- RSR641 :	 - anwer to Status command when CASHLESS fron serial line is active must be R___

7.6.H: 2014.--.--
-----------------

7.6.G: 2014.05.14
-----------------
- RSR641 :	 - founds? command retuns back only 4 digits; fixed

7.6.F: 2014.04.--
-----------------
- RSR641 :	 - fixed visualization of selections on discount message (on merchand6 tray and column were inverted)

7.6.E: 2014.03.31
-----------------
- RSR641 :	 - bootloader upgrade revision 0007 (BOOT define)
               - the status response of the bootloader
               - crp 2 protection

7.6.D: 2014.03.31
-----------------
- RSR641 :	 - return money when pushing escrow in mixed cashless-cash sales, solved
                 - made a single function to display selection to solve few problems in display selection in LOCKOUT SEL
                 - AP7000, changed the ENTER key function fron the 'G' button to the '14' button, otherwise the G tray cannot be used
                 - the revision of bootloader was wrong under the "service" "bootloader" revision
                 - added pulsing of the latch signal to load the default ( reset ) donfiguration on the anode-katode shifters
                   Happens, on DIXIE501E, during the boot process, some outputs where activated.

7.6.C: 2014.03.12
-----------------
- RSR641 :	 - return money when pushing escrow in mixed cashless-cash sales, try to solve

	
7.6.B: 2014.02.13
-----------------
- RSR641 :	 - bootloader upgrade revision 0005 (BOOT define)
			   implementation of the application to upgrade bootloader (BOOT2 define)

7.6.A: 2014.02.13
-----------------
- RSR641 :	 - dex: added ECV (event programming option saving)
			   bootloader upgrade revision 0004 with download with serial line added to mmc (BOOT define)
			   partial implementation of the application to upgrade bootloader (BOOT2 define)

t.7.6.Z: 2014.02.17
-----------------
- RSR641 :	 - TEST REVISION -NOT TO USE IN PRODUCTION
			   a counter has been added to count the time cash variable is forced to 0;
			   the counter is displayed in dex in the field CASH*FORCED*TO*ZERO
			   the aux led are turned on for 3s when the counter is incremented

7.5.Z: 2014.02.13
-----------------
- RSR641 :	 - for the overflow problem (the display shown 429496) before decrement the available credit, it tests
			   if the credit available is equal or greater than theselection value; if yes, the credit is decremented;
			   otherwise the credit is set to 0;
			   if the credit is negative, it is forced to 0.

7.5.Y: 2014.02.11
-----------------
- RSR641 :	 - drop sensor option 6 modified
				1.added a new timer linked to the option 6 to respect the timing indicated in the specifications


7.5.X: 2014.02.10
-----------------
- RSR641 :	 - auto discount with problems
				1. previous correction has solved the matter signaled but has introduced a new one (use ucb tester 1.0B)
				   a.initialize the machine
				   b.set date 14/02/2013 time 06:30
				   c.set autodiscount to clear
				   d.set autodiscount 25% 2 50% 4 3 2 NO
				   e.set price of all product to 2.00
				   f.exit programming menu closing the door; select a product; price shown is 2.00--->correct
				   g.enter menu programming
				   h.set date to 15/02/2013 time 6:30
				   i.exit programming menu closing the door; select a product; price shown is 1.50--->wrong the discount must start on 16/02/2013
				the problem is that (after step h.) the discount function is called first with the date not updated (14/02/2013) and then
				on date test in main .c discount(NULL,1,1) with the date updated (15/02/2013)
				the problem solution is to call "recvDate(&dateTime);" directly in menu.c -> edDate() when new date is saved.
				
				IMPORTANT: each time autodiscount is set and the date is brought back, the autodiscount data must be cleared!
				           it is necessary to modify the implementation saving the starting date of autodiscount to allow this behavior

			 - drop sensor modality 6: there was a problemo on option 6 of drop sensor; after waiting for 2 second, if product has been not sold, the 
			   motor restart and stop before home position;

			   IMPORTANT: for option 6 do drop sensor, the 2s and 5s timeout starts at the end of the motor timeout and not since reaching home position
				
			  - escrow problem: with clarity software the UCB on the Merchant 6, we've determined the problem is related to items 4 and 5 from the UCB issue list.
			    The PC requests a product to vend, if the drop sensor is triggered before completing the full rotation, the UCB responds back to the PC that the 
			    transaction is complete, the Clarity software then requests a funds return to clear credit, since the Merchant 6 uses a motor for the coin return,
			    the UCB treats this as a vend request and stops spinning the motor, and begins the coin return motor.  In the case of a false positive on the drop 
			    sensor this results in a customer being ripped off.  To further complicate things, after the coin return motor is done spinning, the UCB then looks 
			    for a drop sensor trigger and begins spinning the product again until it either completes the partial turns, or the sensor is triggered again, possibly 
			    resulting in a second product for free for the customer.  We were able to reproduce the behavior on the latest firmware version.

7.5.W: 2014.02.04
-----------------
- RSR641 :	 - some changes on dex.c files
				1. the MA5 field management is changed:
				   in the previous versione there were 16 different record with Exact Change status, date and time of On/Off condition
				   but only when a a selection was made; in the current version the MA5 field is shown (only one row) in dex only if the condition
				   of Exact Change is active; if this one is not active the MA5 field is not shown;
				2. there is an EA1 field buffer with the same behavior of the "old" MA5 one: a circular buffer with max 16 elements; each occurrency
				   conteins Exact Change status, date and time, but saved only after a selection.
				
7.5.V: 2014.02.03
-----------------
- RSR641 :	 - auto discount with problems
				   a.initialize the machine
				   b.set date 14/02/2013 time 06:30
				   c.set autodiscount to clear
				   d.set autodiscount 25% 2 50% 4 3 2 NO
				   e.set price of all product to 2.00
				   f.exit programming menu closing the door; select a product; price shown is 2.00--->correct
				   g.enter menu programming
				   h.set date to 19/02/2013 time 6:30
				   i.exit programming menu closing the door; select a product; price shown is 1.00--->correct
				   j.initialize the machine
				   k.set date 14/02/2013 time 06:30
				   l.set autodiscount to clear
				   m.set autodiscount 25% 2 50% 4 3 2 NO
				   n.set price of all product to 2.00
				   o.exit programming menu closing the door; select a product; price shown is 1.00--->wrong the discount must start on 16/02/2013
			- dex event modification :
				1.added field MA5 for exact change log (buffer of 16 elements)
				2.added field EA1 for exact change log (the same data of above)
				3.roberto ask to check event EA2*EN1F
			- wrong escrow
				1. the machine is set with force vend and 1st bill escrow
				2. insert a 1$ dollar bill
				3. try to insert a new bill (error condition)
				4. put 4 coins of 1 quarter of dollar
				5. make a selection: the 1 dollar bill in escrow ir returned; the 4 coins no and the credit is 0
			- tok take keyboard update
			- update maxCredit managment in GetMasterSlavesMaxPrice() function
			- the fw release is identified with "0.A.B.C", where the first '0' identify the production fw version; the '0' can be sostituited by 'x'
			  in the motor simulator version
			- password management: the access password can be set always; the audit password can be set only if the access password is set (otherwise you can't
			  access the programming menu)

2.4.1: 2014-01-24
-----------------
- RSR641 : added motion sensor for door led driver for ROWE machines, board RSR675E

2.4.0: 2014.01.24
-----------------
- RSR641 : -modified rowe5900 rowe6800 on door LED

7.5.U: 2014.01.23
-----------------
- RSR641 : -motion control and led dimming enabled also for rowe5900 and rowe6800
           -led masks modified to enable led connected to catode
           -dex event modification :
             1.michael yates request (email 21/01/2014) to remove some dex events (ENU_25, ENU_2B, ENU_2C, ENU_2D, ENU_2E, EKU_04,
               EKU_06, EKU_07, EKU_0B, EKU_0D, EKU_0E, EKU_0F);
             2.in the same email yates request to include following events
             3.event EA2 EAS is present in 2 different dex entry;
             4.EKU events were mapped like EKU_x and not EKU_xx (where xx is the MDB error code)

7.5.T: 2014.01.20
-----------------
- RSR641 : -dex
            1.deleted duplicated EAS event (already present in the MDB error struct)
            2.deleted not used dex event
            3.EKU event set corrected from EKU_x to EKU_0x
           -added motion sensor for door led driver for ROWE machines, board RSR675E
           -modified led management for leds connected on catodes

7.5.S: 2014.01.17
-----------------
- RSR641 : modified lockout menu test
           saving autodiscount data after clear

7.5.R: 2014.01.16
-----------------
- RSR641 : modified dex (PA101 field) for selections made with pc (5xx)
           added bill_stacker_full_event in MDB/dex event
           modified text of menu health
           deleted function reset lockout
           modified reset health
           modified fw release format on send settings function

7.5.Q: 2014.01.14
-----------------
- RSR641 : a.modified healt menu text
           b.modified lockout menu text
           c.added led managment on rowe5900
           d.modified fw release format a.b.c >>> 0.a.b.c for the standard fw release; 7.0.Z >>> x.a.b.c
           e.modification of selection lock for health failure
           f.maxcredit update modified
           g.password managment: it is possible to set both the passord to access menu programming and audit data;
             to set audit password you must set the access menu password; in the previous versions if you set before the audit password
             the menu programming access wasn't no longer possible.
           h.correction AP113 no exit from edit group routine
           i.updated price when a selection change the group membership
           j.group price must be different from 0
           k.mercha6 visualization of 10th tray
           l.in autodiscount fuction, if clear/disabled is selected, following programming steps are jumped and all struct are initialized
           m.lockout function visulaization modified
           n.added function reset health
           o.payment system disabled if cash+bill >= maxcredit

7.5.P_TOK_TAKE : 2013.12.31
-----------------
- RSR641 : updated keyboard on TOK_TAKE machine type


7.5.P : 2013.12.18
-----------------
- RSR903 : added Azkoyen, Fastcorp
- RSR641 : updated reset function of DS2431. Old version will not respect a minimum ON time
           to power-up the chip before operating.


2.3.P: 2013.12.10 -- USE ONLY WITH RSR675D, use standard 2.2.0 for RSR675E
-----------------
- RSR641 : custom version modified for the baseboard rsr675D (that mounts the microchip pic)
           display.h: modifications on
                      DISPLAY_EN_SET
                      DISPLAY_EN_CLR
                      DISPLAY_RS_SET
                      DISPLAY_RS_CLR
                      DYDATA(X)
                      to drive the display rsr767 instedad of the rowe original one



2.3.0: 2013.12.10
-----------------
- RSR641 : updated reset function of DS2431. Old version will not respect a minimum ON time
           to power-up the chip before operating.


7.5.O : 2014.01.12
------------------
- RSR641 : a.CA405 added to dex structure
           b.GROUP menu >>> GROUP PROD.

7.5.N : 2013.11.12
------------------
- RSR641 : a.group set function modification

7.5.M : 2013.11.11
------------------
- RSR641 : a.MDB debug disabled

7.5.L : 2013.11.11
------------------
- RSR641 : a.modification on MDB error on dex
           b.bill recycler payout correction (added Ca405 CA408)
           c.modification on upfront group functions
           d.

7.5.K : 2013.10.31
------------------
- RSR641 : a.added MDB error in dex struct
           b.correction on key serial receiving function
           c.fall sensor enable on rowe5900
           d.serial test added for rsr903

7.5.J : 2013.10.22
------------------
- RSR641 : a.added drop sensor option 6
           b.SELS? command modification
           c.READ? commPutChar modification to send ETX correctly (sometimes when the buffer is full the last ETX is not sent; in this
             way there are 5 retry)

7.5.I : 2013.10.22
------------------
- RSR641 : a.added delay to test function

7.5.H : 2013.10.18
------------------
- RSR641 : a.added input of keys from serial line
           b.test on not consecutive coupling on VED1000
           c.base board selection macro >>> to set a baseboard scrolling a list
           d.5xx selection implemented
           e.drop sensor end fall timer
           f.test motors retry timer
           g.menu programming access >>> audit data
           h.default price initialization >>> 9.00
           i.group management
           j.serial protocol update
           l.test battery modification
           m.factory setting restore after test

7.5.G : 2013.09.17
------------------
Dear All,
we have made new implementation in groups management. In the UCB production revision (2.2.0) only upfront and lockout groups were present; now you can find 5 different groups at same time:
- price
- upfront
- lockout 
- health
- time frames
Each group now has 100 elements: so, for example, you can create a price group with all machine selections or 100 groups each one with a single selection.

Upfront and lockout groups were also present inside the UCB production release and their functionality  has been not changed.

Price groups are used to set same price for all its elements; health groups are checked to lock group selections if a health problem has been registered (only for machine with temperature control); with timeframes groups you can block the selection of set group in certain times of week.

There are no constraints in group programming: you can program an upfront group ( for example A0...A9 selections) and different prices for each selection of the upfront group.

Programming menu:

advanced->group->set group
                         ->set group price
                         ->set group upfront
                         ->set group timeframes
                         ->setup timeframes
              ...
              ->setup health
              ...
              ->sel. lockout

-set group: you must set the selection value and the price group of membership;
-set group price: you must indicate group value and group price;
-set group upfront: the same logic of group price;
-set group timeframes: the same logic of group price;
-setup timeframes: first you have to indicates the timeframe number; after that the group referring the timeframes; the day of the week; the disable time and the enable time;
- sel lockout: first you must set the selection owned by the lockout group (fixed) and then you have to set the lockout time;


7.5.E : 2013.08.
-----------------
- RSR641 : added machine VEILCM
           correct communication error with PC: sometines some character in the answer from UCB to PC was missing
           send price up to 999.99 ( previou version was limited to 99.99 )
           addet test for RSR765 rev E - inputs for 501E


W.7.5.A : 2013.07.11
-----------------
- RSR641 : added nonvolatile storage of maxcredit as set by PC

7.3.f: 2013.07.02
-----------------
- RSR903 : changed timing for keyboard simulation
- RSR641 : added management of 3 slave machines
           Entering the programming menu, the UCB will detect which slave machine is connected and will enable
           price change only for the connected slave machines.
           Also, the MAXPRICE/MINPRICE are dinamically updated with the number of connected slav machines.
           Tested as a combiation of NAT157 ( Master ), NAT147, AP113, Merchand6 ( Slaves )

7.3.f: 2013.06.20
-----------------
- RSR641 : make an update on the Merchad6 DEX PA101 field

7.3.d: 2013.06.08
-----------------
- RSR641 : on all machines except VED1000 coupling setting in the manual menu with local keyboard was not working after the VED1000
           implementation, corrected and tested on MERCHAND6

7.3.c: 2013.06.07
-----------------
- RSR641 : on all machines except VED1000 coupling was not working after the VED1000 implementation, corrected and tested on MERCHAND6

7.3.b: 2013.05.31
-----------------
- RSR641 : MERCHAND6 the DEX file and SELS? were also including the selection 180, which is not a REAL selection 
           but only used to handle ESCROW

7.3.a: 2013.05.31
-----------------
- RSR641 : MERCHAND6 selection numbering in dex file was aligned with original Merchand6 DEX numbering ( see file 
           Merchant 6 selection numbers.doc Michael Yates sent 21st May 2013 )
- RSR903 : added first revision of GSnack

7.3.Z: 2013.05.23
-----------------
- RSR641 : MERCHAND6 motor mapping correct, after vend bucket led was added there is an interaction with Merchand6
           motor mapping

7.3.Y: 2013.14.05
-----------------
- RSR903 : changed answer to MDB after a fail vend for Samba. After a Fail Vend for some reson Samba will not
           manage well the begin session, so aftre a fail ved the Cashless is reset
           Manage of Door Switch

- RSR641 : recover of coupling motor configuration for VED1000
           led management optimization

7.3.W: 2013.04.05
-----------------
- RSR641 : led functionality flashing added for all machine types, tested the working
           added load/store of led configuration in SD/MMC and setial line
	   corrected the SEND; and DISCOUNT; answer as Yaugen comments
           Drop sensor timing for function 3,4 set difefent for VED1000 machine due to lower motor speed
		

7.3.V: 2013.04.05
-----------------
- RSR641 : added new flashing function to LED, only for soma machine


7.3.U: 2013.04.05
-----------------
- RSR641 : new machine type VED1000 added. The machine has a VEI base with slower motors ( timeout update )
           and the capability to couple any even with any odd motor on a tray

7.3.T: 2013.04.05
-----------------
- RSR641 : VEI147 added capability to couple an even motor with any odd motor on the same row
           Tested also on NAT147, NAT157
           to be tested on AMS39, MARCAND6


7.3.S: 2013.03.29
-----------------
- RSR641 : make timwout for drop sensor aligned with timoeut for motor


7.3.R: 2013.03.21
-----------------
- RSR641 : added price setting for 3 slaves
           correct price settings for slave machine when master machine has only 2 digit selection
           check price storage on SD-CARD, DEX
           adde also the slave machine prices in the configuration file ( to check with Nate software )
           chahnged timout for VEI147 machine from 4" to 10"


7.3.Q: 2013.03.15
-----------------
- RSR641 : added matrix keyboard for AP113


7.3.P: 2013.03.14
-----------------
- RSR641 : added command to reset of cashless if maxCredit will change, to reload the new maxCredit value to the cashless
- RSR903 : added Fastcorp machine


7.3.O: 2013.03.12
-----------------
- RSR641 : set maxCredit to the cashless, instead of maxPrice; the maxCredit is loaded only after cashless reset


7.3.M: 2013.03.09
-----------------
- RSR641 : set the correct order reading PA101 in dex file: the order for PA101 is no more the tray/column
           but must be read from the actual P201 read from the DEX file


7.3.N: 2013.03.10
-----------------
- RSR641 : the slave prices where not read correctly form the non-volatile storage


7.3.L: 2013.02.28
-----------------
- RSR641 : DEX was sometimes not sending the EOT


7.3.K: 2013.02.21
-----------------
- RSR641 : DEX timeout connected to the timers to be indipendent from main cycle time

7.3.I: 2013.02.16
-----------------
- RSR641 : modified the DEX file to store either master and (one) slave product informations
           Given the memory size limitation of the DEX file, this implementation can handle up to 100 selections
           between master and slave, which is enought for any combination of two machines UCB can manage.
           The data structus is changed by using 9 bits of the PA201 data to store the selection number to which the
           record is related to.

7.3.H: 2013.01.22
-----------------
- RSR641 : drop sensor option 5: if the product will drop the exact time the drop sensor timeout will end
           you get the product and also money back. Updated the drop sensor timeout to be always after the motor stop
           ( see update tFallSensor )

7.3.G: 2013.01.16
-----------------
- RSR641 : COMM4 has a wrong initialization on a UCB software being able to work also as a Slave
           Interaction between initilization of COMM4 on UCB ( standard ) and RSR903 ( as MDB Slave )

7.3.F: 2013.01.13
-----------------
- RSR641 : added command "SLAVES?" to ask the numbers of connected slave machines
           by default,on machines having only 2 digit selections, 3 digits are accepted from the PC
           and on slave machine by default the machine is set to 1.

7.3.E: 2013.01.08
-----------------
- RSR641 : added answer to "selection unavailable on slave"
           put in place a workaround for the master sending repeated slave selections ( TODO better solution )

7.3.D: 2013.01.07
-----------------
- RSR641 : added MDB_Slave using RSR940
           added ( only on VEI_DOOR ) a 10" light On a led on th evend bucket

7.3.C: 2012.12.03
-----------------
- RSR903 : test with Bevmax
           Selection tiemout to set to take the situation in which the product is left on the delivery bucket ( 35" )
           Bevmax is not able to manage a list of answers on the POLL command, so we need to split ( check again with SAMBA )
- RSR641 : 501e added again after testing the 6th tray issue was solverd           

7.3.B: 2012.11.03
-----------------
- RSR641 : added management of selection status/errors for MDB slave devices
           added capability to set prices also for save machine ( machine selection will start with the '2' number )
- RSR903 : added capability to make a selection for a slave device also via MDB, sending selection status over MDB
           and the capability to manage failed selection for MDB driver selections, not only via serial line
           MDB from master machine is COMM2 - CN10, MDB emulated cashless is COMM4 - CN8

7.3.8: 2012.11.03
-----------------
- change to take out Dixie501e machine
- RSR903 : optimized timout; if the "vend request" is not received withing 2" from the request of the
           selection, the selection will fail. This will shorten the timout if a selection is desabled
           on the connected machine ( like Samba ).

7.3.7: 2012.10.20
-----------------
- modification to try to correct tray7 error on VEI machine
- on escrow motor on Merchand6 drop sensor has not to act

7.3.6: 2012.10.20
-----------------
- Tok-take version

7.3.5: 2012.10.20
-----------------
- added AP113 keypad
- added activation of the ESCROW motor on Mercahd6

7.3.4: 2012.10.20
-----------------
- corrected the keypad management if programming menu
- added standard VEII drop sensor management ( before there was no management )
- checked payout with selection zero price: working OK

7.3.3: 2012.10.19
-----------------
- corrected the keypad management if programming menu

7.3.2: 2012.10.17
-----------------
- inverted function of door switch for marchand6

7.3.1: 2012.10.17
-----------------
- it was impossible to enter to programming menu, corrected

7.3.0: 2012.10.14
-----------------
- added keypad for Marchand6. Use of the Keypad for VEI_DOOR connected as
  DOOR_KEY    CN12/RSR921
  A          ---------- 4 ( row2 )
  B          ---------- 3 ( rriw3 )
  C          ---------- 5 ( row1 )
  D          ---------- 6 ( col4 )
  E          ---------- 7 ( col3 )
  F          ---------- 8 ( col2 )
  G          ---------- 9 ( col1 )

7.2.Z: 2012.13.22
-----------------
- deleted END to the end of answer to host command READ?
- added ETX to terminate answer to host command READ?

7.2.Y: 2012.11.22
-----------------
- added ETX to terminate answer to host command DEX?
- added changes also on RSR903 to ass MDB cashless to detect FAIL vends

7.2.W: 2012.09.22
-----------------
- added new host command
  REV?						to read software revision
- updated answer to DEX? to be handled by interrupt, not to lock running main
- checked and corrected operation of command LED in relation to motion sensor
- added optional sell price parameter to SELL; command
- cleaup the firmware from managing graphics images on MMD/SD

7.2.V: 2012.09.21
-----------------
- added new host command
  DEX?						to read DEX file. DEX is sent by blocking the main, which is not good

7.2.M: 2012.04.12
-----------------
- added new host command
  LED;						to set dimming level for the LED ( 0.100 )
- escrow will close also any open session with the cashless payment
- the code has bee cleaned follwoing the rules of the e-mail 20/02/2012
- added MDB SLave management
- added code for Dixie501e
- inserted version RSR903, which will manage all functions of RSR641 BUT the dispplay and keyboard. The selection is made by driving some switched
  ehich will simulate a keypadi input.
  Keypadi can be selected ( by conditional compilation ) for VendoBue, BexMax, Evolution
  
7.2.F: 2012.03.05
-----------------
- added some host command
  disabled?        to ask the list of disable available selection, answer disabled;sel1;sel2;sel3;.... ( list of disabled selections )
	funds?           to ask available credit, answer funds;cash;card;
	set.Temperatura? to request actual set of temperature, answer set.Temperatura;value
	escrow           to ask refund of availabel cash, answer Cr,Lf
	
7.2.D: 2012.02.22
-----------------
- the "excat change" condition was not sent to the VEConnect after a selection is made
- the Door status was not sent correctly to the VEConnect immediately after power-up with door open

7.2.C: 2012.02.17
-----------------
- the selection identification string to/from VEConnect software will always follow the VEI DOOR mode
- correct error as Ezio rev 2.1.1

7.2.A: 2012.01.16
-----------------
- USI GVC2 : let keyboard always on
- set temperature offset to take care of the error of the temperatire sensor ( TO BE CLEARED )


7.2.A: 2012.01.13
-----------------
- added machines AMS39, VEI147, USI GVC2
- added enHome function to automatically disable "homing" function when motor are not able to say when the mtor is in home position
- added Micromech for coin

BOOT LOADER 0.0.3: 2011-11-02
-----------------

- added more than 2GB memory card: SD and SD-HC supported with FAT and FAT32 


2.1.0: 2011-11-02
-----------------

- added more than 2GB memory card: SD and SD-HC supported with FAT and FAT32
- digital price: discounted price shown blinking


2.0.3: 2011-09-14
-----------------

- problem with MIZIP locked, solved with device message ackowledge and device reset


2.0.2: 2011-08-08
-----------------

- fixed problem with Drop Sensor mode 5 and drop sensor not present or broken: if signal always on, use home position to stop


2.0.1: 2011-07-18
-----------------

- fixed problem with Drop Sensor mode 5 and drop sensor not present or broken (two turns are done in that case)
- fixed escrow=2 saved on the configuration file
- removed sensitivity on configuration file: not used

Nota: aggiungere controllo per nuove schede base e corto tra integrati


2.0.0: 2011-04-18
-----------------

- same as 1.2.E: second stable version



1.2.E: 2011-04-08
-----------------

- VA105 and VA106 fields populated on DEX files for discounts
- added a selection in programming menu to reset all the counters when door is
  open in auto discount
- saved 'Max Sel Disc' and 'Clear Discount Counters on Door Open' to the MMC
- removed 'Camera', 'Animation' & 'Advanced MMC/SD' from menu



1.2.D: 2011-03-31
-----------------

- USAtech cashless fix


1.2.C: 2011-02-16
-----------------

- special version with no decimal point


B.2.B: 2011-01-14
-----------------

- special version for the 42" screen demo


1.2.B: 2010-12-22
-----------------

- auto discount: fixed message display


1.2.A: 2010-12-21
-----------------

- auto discount: some fixes with machine discount


1.1.v: 2010-11-16
-----------------

- auto discount: added max number of discounted selections


1.1.u: 2010-11-08
-----------------

- auto discount: "on sale now" visualization with discounted selections
- adv message: "select" or "exact change" after message visualization
- config file: added "tube tot value" and "set single vend" missing in previous version
- "prod upfront": added clear function after programming sequence
- Fix issue with Nat157 gum and mint. Gum and mint harness has to be plugged in or motor homing hangs when it reaches the gum and mint tray
- if "Sales Tax" is zero, display should not show "Sale" then "Tax" then "Total". It should only show "Sale" or "Total".
- At power up display does not need to show "-Receipt Print-". 
- printer has a different firmware (compile version)
- When door is closed or opened the total number of motors detected needs displayed. This needs displayed at power up also
- When "Init Config" is done during "Machine Initialization" the following are what the defaults should be. 
1.	Password: All passwords cleared
2.	Drop Sensor: 0
3.	Drp Mot Home: Yes
4.	Bill Escrow: No
5.	Force Vend: No
6.	Tube Fill: No
7.	Motor Coupling: None Coupled
8.	Group Prod.: All settings cleared
9.	Perc. Dimming: 100
10.	Time Dimming: 0
11.	Set Single Vend: Yes
12.	Auto Discount: All settings and flags cleared
13.	Winner Mode: 0
14.	Sale Tax: 0
15.	Tube Tot Value: 0
16.	Mach Disable: All settings cleared
17.	Sel. Lockout: All settings cleared
- SETUP_VERSION = 0xFC03


1.1.1: 2010-08-12
-----------------

- NAT145: fixed motor map detection with 8 to 10 motors versions


1.1.0: 2010-05-12
-----------------

- NAT145: added new version based on the NAT147


T.0.2: 2010-04-07
-----------------

- MIND-UCB: host protocol communication (see specification)


1.0.1: 2010-04-06
-----------------

- AP123: fixed menu tray price setting: with 0 the machine was locked
- AP123: default machine 1xx was not shown on menu tray price
- NEW-DOOR: fixed drop sensor problem (removed modification for show version)


1.0.0: 2010-03-05
-----------------

- FIRST release


O.0.Z: 2010-02-10
-----------------

- added menu' password (93139) to enable full DEX selections dispatch. If enabled all
  possible selection will be listed on the DEX file, else the rules will be the same
  as all old DEX data



N.0.Z: 2010-02-01
-----------------

- cashless, single vend close connection after vend-deny and clear cashless-amount
- exact change: fixed sell with coin value less than max-price but greater than 
  vend-price. Version 9.0.Z introduced the problem that sells in exact change
  and take the coin left: this is due to the modification that allow the vend
  with the cashless system



M.0.Z: 2010-01-25
-----------------

- cashless, single vend close connection after vend-deny
- cashless, it revalue not available, abort request (and not loop infinitely)
- fixed problem with NAT 147 test: due to L.0.Z modification
- fixed problem with 110V bill validator: 5$ counter reset every pulse
- fixed problem with 110V bill validator: AP7000 not enabled
- fixed send of full DEX selections after reset: only available selections will be sent



L.0.Z: 2010-01-19
-----------------

- all machines support - 110V bill validator
- after reset: default fill-tube = off
- shows "machine disabled" on display when disabled
- full DEX selection sent to the host when DEX data are initialized



K.0.Z: 2009-12-15
-----------------

- fixed LCM123 motor selection



J.0.Z: 2009-11-13
-----------------

- fixed LCM123 test



I.0.Z: 2009-10-14
-----------------

- changed identification of machines to ID101 instead of asset-number
- added configuration and price settings from zigbee



H.0.Z: 2009-10-02
-----------------

- cashless time disable, fixed 



G.0.Z: 2009-09-18
-----------------

- new keypad



F.0.Z: 2009-09-15
-----------------

- time disable 1...5
- AP113 - 110V bill validator



E.0.Z: 2009-09-11
-----------------

- modem: added machine identification string when request for the price change
- modem: added request for machine configuration



D.0.Z: 2009-09-10
-----------------

- driver graphical digital display
- added some delay to the drop sensor detect signal to avoid glitch when motors starts



C.0.Z: 2009-09-01
-----------------

- modem command to read prices
- 



9.h.R: 2009-02-19
-----------------

- BAUD RATE SET TO 57600
- sss



8.0.X: 2009-02-18
-----------------

- VORTEX COIN MECH



7.0.X: 2009-02-16
-----------------

- DROP SENSOR 4, FORCE VEND, ESCROW DURING RETRY RESTORE VALUE ON SCREEN (INSTEAD
  OF GIVING BACK MONEY AT THE END OF RETRIES)



6.0.X: 2009-02-13
-----------------

- EXACT CHANGE WITH NEW FUNCTIONALITY
- SLIDE SHOW WITH 15s
- DISPLAY MENU HIDDEN IF DISPLAY NOT MOUNTED
- VEI MANUFACTURER INTO ID101
- AP SELECTION #0 CHANGED TO #10
- SHOWS SERIAL NUMBER



0.0.W: 2009-01-16
-----------------

- LED DIMMING: removed for the ROWE machines
- CAMERA: added camera functionality
            . menu SENSITIVITY: 0 = acquire disable, 1=low(30), 2=medium(20), 3=high sensitivity(10)
            . photo are not shown on the display
            . photo area store on the MMC/SD in BMP format with date/time on the
              display "PLEASE WAIT" is shown
            . when door is open only one photo is taken (to prevent to acquire 
              images while operators are working on the machines)
            . if SDcard is not available functionality is disabled
            . SDcard presence is tested at power-up and when the door status
              changes (from open to close an vice versa)
            . if SD card is removed after 5 retries to store photo the functionality
              is disabled, till next SDcard presence check
            . the maximum number of photo stored is 511 (SDcard limitation)
            . photo file name: aaaddddd.BMP
                                aaa = first 3 digits of the asset IF
                                ddddd = encripted date and time (file create date and time are set properly)



0.0.V: 2009-01-02
-----------------

- TUBE FILL: enable all coins when door open and tube fill enabled



0.x.U: 2008-12-04
-----------------

- ASSET ID: stored on the ZigBee module to identify machines from PC software



0.0.T: 2008-12-02
0.x.T: 2008-11-24
-----------------

- EXACT CHANGE: cash over max vend value will not stuck the machine anymore
                (force vend issue)
- AP113: motor home position fixed



0.x.S: 2008-11-10
-----------------

- TFT DISPLAY: enabled movie play



0.0.S: 2008-11-10
-----------------

- TFT DISPLAY: check bad sector on display memory and mark as unusable
- MMC/SD: menu to erase all images
- MMC/SD: menu to erase one image
- LED DIMMING: menu set time to dimm and percent of dimming
- MOTOR COUPLING: select tray to couple motor



0.0.R: 2008-09-23
-----------------

- MMC/SD: menu load images. Can update one image at a time
- MMC/SD: show images even if no motor available



0.0.o: 2008-06-23
-----------------

- AP7000: complete production test
- NAT157: complete production test
- MMC/SD: menu load/save prices/configuration

0.0.o: 2008-07-07
- MMC/SD: changed load/save prices/configuration



0.0.N: 2008-06-12
-----------------

- NAT147: correct door switch, back to the old (0.0.K) input



0.0.M: 2008-06-06
-----------------

- CBOARD: changed single vend close command sequence on cashless system



0.0.L: 2008-05-20
-----------------

- NAT147: door switch fixed (hardware rev B and following)
- NAT147: complete production test



0.0.K: 2008-05-15
-----------------

- AP113:  keyboard fixed
- AP113:  complete production test
- disable non routed coin on exact change (token always enable)
- disable coin if greater than the max price (token always enable)



0.0.J: 2008-
-----------------



0.0.I: 2008-
-----------------



0.0.H: 2008-
-----------------



0.0.G: 2008-
-----------------



0.0.F: 2008-
-----------------



x.x.E: 2008-04-07
-----------------

- Bimbo firmware modification update:
    .   check motor presence before every selection: if not present
        error "not available"
    .   after a selection: maximum timeout to reach a new home position
        is 4 sec (1 turn and half): previous release was 10 sec (4 turns)
    .   timeout for going out of home position: 1 sec. (only Rowe)
        After timeout: add selection price, selection disable (out of motor 
        map, execute a new motor map scan (switch off/on or open/close door)
    .   if selection failed (motor always in home or not able to reach a
        new home position): add selection price
    .   every door close recheck motor map (while showing firmware version)
- clear partial selection after 20s
- 33) only keypad locked, not yet disabled coin mech,....
- 35) added
- 37) added
- 40) fixed, need to be checked
- 41) changed



0.0.D: 2008-04-02
-----------------

- NAT157: fixed programming keyboard and new antidebounce mode



0.0.C: 2008-03-20
-----------------

- AP113: NAMA spring version, antivandalism, ...
- menu: fixed numeric input on menu' selection



0.0.B: 2008-03-15
-----------------

- NAT157:



0.0.A: 2008-xx-xx
-----------------

- changed DEX timeout for GSM modem 



0.0.9: 2008-xx-xx
-----------------

- DS2401 & DS2431: fixed timing



0.0.5: 2007-xx-xx
-----------------

- 



0.0.4: 2007-12-18
-----------------

- ROWE: fixed set clock "set date" problem if you don't input any value and press enter
- if "message speed" is 0: message is centered and doesn't scrool

- new AP113 keyboard map: must change resistor 100K



0.0.3: 2007-11-30
-----------------

- AP113 modification:
    . door sensor
    . programming switch
    . homing motors
    . keyboard filter
- MDB readback of tube status after alternative payout



0.0.2: 2007-11-26
-----------------

- menu' modification: two step drop sensor programming
    . machine drop sensor mode
    . selection drop sensor mode enable/disable



0.0.1: 2007-11-16
-----------------

First release









 
- read tube status when door closed
- serial bill validator
- tube status when door close
- LCM123: no motor homing when door open
- LCM123: tested motor home position
- LCM123: programming keyboard (A=sx,B=up,C=dx,F=down)
