Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include "MUX74HC4067.h"
- #include <CmdMessenger.h>
- MUX74HC4067 mux(7, 8, 9, 10, 11);
- /* --- Komunikacja PC --- */
- CmdMessenger cmdMessenger = CmdMessenger(Serial);
- enum
- {
- kAcknowledge,
- kError,
- kReceive,
- kSend,
- };
- byte odebrane[23];
- byte wysylka[10] = {11,11,11,11,11,11,5,5,5,5};
- //byte odPC[10] = {10,10,10,10,10,10,5,5,5,5};
- /* --- I2C --- */
- void receiveEvent( int bytes ) {
- for(int i = 0; i < sizeof(odebrane); i++){
- odebrane[i] = Wire.read();
- }
- }
- void requestEvent()
- {
- Wire.write(wysylka,10);
- }
- /* --- I2C --- */
- void muxRead() {
- for (int i = 0; i < 10; ++i) {
- if (i < 6) wysylka[i] = mux.read(i) * 10 / 1023 + 1;
- else {
- wysylka[i] = mux.read(i);
- wysylka[i] = (wysylka[i] * 75 / 1023 + 5);
- wysylka[i] = map(wysylka[i], 5, 80, 80, 5);
- wysylka[i] = wysylka[i] / 1 ;
- }
- }
- }
- void setup() {
- Serial.begin(115200);
- Wire.begin(9);
- mux.signalPin(A0, INPUT, ANALOG);
- Wire.onReceive(receiveEvent);
- Wire.onRequest(requestEvent);
- cmdMessenger.attach(OnUnknownCommand);
- cmdMessenger.attach(kSend, OnReceive);
- cmdMessenger.sendCmd(kAcknowledge,"A");
- }
- void loop() {
- cmdMessenger.feedinSerialData();
- OnSend();
- }
- void OnSend(){
- 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]) + ":" +
- String(odebrane[7]) + ":" + String(odebrane[8]) + ":" + String(odebrane[9]) + ":" + String(odebrane[10]) + ":" + String(odebrane[11]) + ":" + String(odebrane[12]) + ":" + String(odebrane[13]) + ":" + String(odebrane[14]) + ":" +
- String(odebrane[15]) + ":" + String(odebrane[16]) + ":" + String(odebrane[17]) + ":" + String(odebrane[18]) + ":" + String(odebrane[19]) + ":" + String(odebrane[20]) + ":" + String(odebrane[21]) + ":" + String(odebrane[22]));
- }
- void OnUnknownCommand()
- {
- cmdMessenger.sendCmd(kError,"Command without attached callback");
- }
- void OnReceive(){
- const char *str = cmdMessenger.readStringArg();
- 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]);
- }
Advertisement
Add Comment
Please, Sign In to add comment