_Slave_Ports_Protocol.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. typedef int _Slave_ID_BROADCAST_T ;
  2. typedef int _SENDER_T ;
  3. //#define _Slave_ID_BROADCAST_T _Slave_ID_BROADCAST 0xFF ;
  4. #if ! defined(Active_ControllerID)
  5. #error "#9 not defined Active_ControllerID"
  6. #endif
  7. struct _Slave_Ports_Protocol_CAN_broadcast_S {
  8. const _Slave_ID_BROADCAST_T _Slave_ID_BROADCAST = 0xFF ; // 1remote id - use FF for broadcast
  9. const _SENDER_T _SENDER = Active_ControllerID ; //2 sender //Device which orginated port
  10. int Port_ID ; //3 global id for device //const char * const _Protocol;
  11. int PortTypes; //4 0xFF = 1111 1111 s
  12. //int Address ; //
  13. //int LocalPort; //
  14. int Exp_state; //5
  15. int Exp_state_ttl; //6
  16. int Broadcast_state; //7
  17. const int _CAN_8 = 0x07 ; //8 - nbot used
  18. } ;
  19. typedef struct _Slave_Ports_Protocol_CAN_broadcast_S _Slave_Ports_Protocol_CAN_broadcast_T;
  20. typedef int _CAN_SEND_1_T ; //1 byte = 0
  21. typedef int _CAN_SEND_2_T ; //2 byte = 8
  22. struct _Slave_Ports_Protocol_CAN_SEND_S {
  23. const _SENDER_T _SENDER = Active_ControllerID ;
  24. const _CAN_SEND_1_T _CAN_SEND_1 = 0 ;
  25. const _CAN_SEND_2_T _CAN_SEND_2 = 8 ;
  26. _Slave_Ports_Protocol_CAN_broadcast_T _Slave_Ports_Protocol_CAN_broadcast_A ;
  27. } ;
  28. //typedef byte _Slave_Ports_Protocol_CAN_broadcast_AS[8] ;
  29. /*
  30. struct _Slave_Ports_Protocol_CAN_broadcast_AS {
  31. const byte _Slave_ID_BROADCAST = 0xFF ; // 1remote id - use FF for broadcast
  32. const byte _SENDER = Active_ControllerID ; //2 sender //Device which orginated port
  33. byte Port_ID ; //3 global id for device //const char * const _Protocol;
  34. byte PortTypes; //4 0xFF = 1111 1111 s
  35. //int Address ; //
  36. //int LocalPort; //
  37. byte Exp_state; //5
  38. byte Exp_state_ttl; //6
  39. byte Broadcast_state; //7
  40. const byte _CAN_8 = 0x07 ; //8 - nbot used
  41. } ;
  42. */
  43. typedef byte _Slave_Ports_Protocol_CAN_broadcast_AS[8] ;
  44. void _Slave_Ports_Protocol_CAN_broadcast_AF(_Slave_Ports_Protocol_CAN_broadcast_T _Slave_Ports_Protocol_CAN_broadcast_A, byte* _Slave_Ports_Protocol_CAN_broadcast_B ) {
  45. //byte dataa = {10, 12, 13, 4, 5, 6, 7, 8};
  46. // return dataa;
  47. _Slave_Ports_Protocol_CAN_broadcast_B[1] = _Slave_Ports_Protocol_CAN_broadcast_A._Slave_ID_BROADCAST ;
  48. _Slave_Ports_Protocol_CAN_broadcast_B[2] = _Slave_Ports_Protocol_CAN_broadcast_A._SENDER ;
  49. _Slave_Ports_Protocol_CAN_broadcast_B[3] = _Slave_Ports_Protocol_CAN_broadcast_A.Port_ID ;
  50. _Slave_Ports_Protocol_CAN_broadcast_B[4] = _Slave_Ports_Protocol_CAN_broadcast_A.PortTypes ;
  51. _Slave_Ports_Protocol_CAN_broadcast_B[5] = _Slave_Ports_Protocol_CAN_broadcast_A.Exp_state ;
  52. _Slave_Ports_Protocol_CAN_broadcast_B[6] = _Slave_Ports_Protocol_CAN_broadcast_A.Exp_state_ttl ;
  53. _Slave_Ports_Protocol_CAN_broadcast_B[7] = _Slave_Ports_Protocol_CAN_broadcast_A.Broadcast_state ;
  54. _Slave_Ports_Protocol_CAN_broadcast_B[8] = _Slave_Ports_Protocol_CAN_broadcast_A._CAN_8 ;
  55. }
  56. /*
  57. _Slave_Ports_Protocol_CAN_broadcast_AS _Slave_Ports_Protocol_CAN_broadcast_F( _Slave_Ports_Protocol_CAN_broadcast_T _Slave_Ports_Protocol_CAN_broadcast_A ) {
  58. byte data[8] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
  59. return data;
  60. }
  61. */
  62. /*byte data[8] = {
  63. int _Slave_ID --1 sender addr
  64. int 0x04, -2 task type
  65. int Port_ID ; -3 //global id for device //const char * const _Protocol;
  66. _Slave_Ports[i].PortTypes, -4
  67. _Slave_Ports[i].Exp_state, -5
  68. _Slave_Ports[i].Exp_state_ttl, -6
  69. Broadcast_state}; -7
  70. 0x07 -8 not used
  71. byte data[8] = {_Slave_Ports[i].Address, 1
  72. 0x04, 2
  73. _Slave_Ports[i].LocalPort, 3
  74. _Slave_Ports[i].PortTypes,4
  75. _Slave_Ports[i].LocalPort, 5
  76. _Slave_Ports[i].Exp_state,6
  77. _Slave_Ports[i].Exp_state_ttl,7
  78. 0x07};8
  79. byte sndStat = CAN0.sendMsgBuf(_Slave_Ports[i]._Slave_ID, 0, 8, data);
  80. */