1. All modbus classes are united in one (modbusRTU) class with
easier and clearier user interface
2. Temp variable for registers start address are created
(should be replaced for some getter function later)
3. 2 modbus register are sending in one message now without
its address. This requires some synchronization to be
implemented
4. There is a lot of garbage from previous modbus here.
Init with CPU data. If COMM is removed and then installed back -
modbus will not work because CPU board will not send config data.
CPU board should detect reinstalling/reprogramming of COMM board and
send config data again (with asking software version)
Modbus here just work itself. There is no connection btw COMM and CPU
except sending config data
The problem was with InitCPUTimers dunction (it was commented).
But some fact was found: If you flash with correct software first
- Modbus is working. Then, if you comment InitCPUTimers function and
flash CPU again. The Modbus still working! But, if you turn off the power
Modbus will not work after power up. The reason is unknown
1. Now method takes Uint62 instead of Uint32
2. Comment TA bit checking for not potentially make processor to stand in
endless loop if there is no answer from another node
3. The method do not set data lenght now. It should be set when MBOX
configuring
1. Add an arbitrator class to control all necessary periphery
main2.cpp represents it usage.
main.cpp without periphery class.
2. Add XINTF init and DigitalIO interface
3. Change DI/O MBOX length to 2 bytes instead of 3
1. Add new methods for update and receive. It is become possiple
to work with Uint32.
2. ADD changes in ConfigTX method. It determines data length
of a MBOX now as well
1. Change receiveMsg. Now it returns int16 with error identification
2. Change CANMessage structure. Now it only has dataLenght variable
instead of previos MsgCtrlReg union
3. Change MsgCtrlReg. Add an OPC flag in it
4. Change configRxMBox method. Overwrite protection enabling is
added
CAN module is added here. This is not the can protocol for communication
between CPU and COMM boards, but common CAN protocol that must be
extended in the future
It started not to compile at all without changing anything manually
Some libs were deleted (because they was added automatically)
Add protection agaist accessing to MBOX with number >31
in transmitMsg method
Add TPL configuration in configTX method
Clear some garbage
Replace #define to enum for safety reasons
Now config function takes as an arguments not only baudrate, but
flags for most significant bit and self teset mode initialization.
All parameters have a default value now
Add protection against access to MBOX with number > 31 in every
possible functions
Remove some old code
Add function for configuring system interrupts
Add interrupt that monitors the following errors:
EPIM - CAN module has entered “error passive” mode
WLIM - One or both error counters (TX and RX) are >= 96
AAIM - A transmission request was aborted
Delete some old code