Hubert_M

Untitled

Jun 4th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. #include <Wire.h>
  2. #include "MUX74HC4067.h"
  3. #include <CmdMessenger.h>
  4.  
  5. MUX74HC4067 mux(7, 8, 9, 10, 11);
  6. /* --- Komunikacja PC --- */
  7. CmdMessenger cmdMessenger = CmdMessenger(Serial);
  8.  
  9. enum
  10. {
  11. kAcknowledge,
  12. kError,
  13. kReceive,
  14. kSend,
  15. };
  16.  
  17. byte odebrane[23];
  18. byte wysylka[10] = {11,11,11,11,11,11,5,5,5,5};
  19. //byte odPC[10] = {10,10,10,10,10,10,5,5,5,5};
  20.  
  21. /* --- I2C --- */
  22. void receiveEvent( int bytes ) {
  23. for(int i = 0; i < sizeof(odebrane); i++){
  24. odebrane[i] = Wire.read();
  25. }
  26. }
  27.  
  28. void requestEvent()
  29. {
  30. Wire.write(wysylka,10);
  31. }
  32. /* --- I2C --- */
  33.  
  34. void muxRead() {
  35. for (int i = 0; i < 10; ++i) {
  36. if (i < 6) wysylka[i] = mux.read(i) * 10 / 1023 + 1;
  37. else {
  38. wysylka[i] = mux.read(i);
  39. wysylka[i] = (wysylka[i] * 75 / 1023 + 5);
  40. wysylka[i] = map(wysylka[i], 5, 80, 80, 5);
  41. wysylka[i] = wysylka[i] / 1 ;
  42. }
  43. }
  44.  
  45. }
  46.  
  47. void setup() {
  48. Serial.begin(115200);
  49. Wire.begin(9);
  50. mux.signalPin(A0, INPUT, ANALOG);
  51. Wire.onReceive(receiveEvent);
  52. Wire.onRequest(requestEvent);
  53.  
  54. cmdMessenger.attach(OnUnknownCommand);
  55. cmdMessenger.attach(kSend, OnReceive);
  56. cmdMessenger.sendCmd(kAcknowledge,"A");
  57. }
  58.  
  59. void loop() {
  60. cmdMessenger.feedinSerialData();
  61. OnSend();
  62. }
  63.  
  64.  
  65. void OnSend(){
  66. cmdMessenger.sendCmd(kSend, "a." + String(odebrane[0]) + ":" + String(odebrane[1]) + ":" + String(odebrane[2]) + ":" + String(odebrane[3]) + ":" + String(odebrane[4]) + ":" + String(odebrane[5]) + ":" + String(odebrane[6]) + ":" +
  67. String(odebrane[7]) + ":" + String(odebrane[8]) + ":" + String(odebrane[9]) + ":" + String(odebrane[10]) + ":" + String(odebrane[11]) + ":" + String(odebrane[12]) + ":" + String(odebrane[13]) + ":" + String(odebrane[14]) + ":" +
  68. String(odebrane[15]) + ":" + String(odebrane[16]) + ":" + String(odebrane[17]) + ":" + String(odebrane[18]) + ":" + String(odebrane[19]) + ":" + String(odebrane[20]) + ":" + String(odebrane[21]) + ":" + String(odebrane[22]));
  69. }
  70.  
  71. void OnUnknownCommand()
  72. {
  73. cmdMessenger.sendCmd(kError,"Command without attached callback");
  74. }
  75.  
  76. void OnReceive(){
  77. const char *str = cmdMessenger.readStringArg();
  78. sscanf(str, "%d:%d:%d:%d:%d:%d:%d:%d:%d:%d", &wysylka[0], &wysylka[1], &wysylka[2], &wysylka[3], &wysylka[4], &wysylka[5], &wysylka[6], &wysylka[7], &wysylka[8], &wysylka[9]);
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment