Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*************************************************************
- Generated at 2016/05/18 23:15:42 CEST for board Arduino Uno
- **************************************************************/
- // imports
- #include <Servo.h>
- #include "Helper.h"
- #include "Enums.h"
- #include "Place.h"
- #include "Transition.h"
- #include "Arc.h"
- #include "FiringScheduler.h"
- // global variables
- // ====== places ======
- Place *p_13;
- Place *p_22;
- Place *p_28;
- Place *p_29;
- Place *p_3;
- Place *p_5;
- Place **allPlaces;
- int allPlacesCount;
- // ====== transitions ======
- Transition *t_14;
- Transition *t_17;
- Transition *t_18;
- Transition *t_2;
- Transition *t_20;
- Transition *t_24;
- Transition *t_25;
- Transition *t_26;
- Transition *t_4;
- Transition *t_7;
- Transition **allTransitions;
- int allTransitionsCount;
- // ====== arcs ======
- Arc *a_695326262;
- Arc *a_907867606;
- Arc *a_1446112315;
- Arc *a_1635923666;
- Arc *a_552332219;
- Arc *a_917921253;
- Arc *a_1795255508;
- Arc *a_1505050988;
- Arc *a_1372075858;
- Arc *a_983687677;
- Arc *a_23365127;
- Arc *a_237252993;
- Arc *a_979541003;
- Arc *a_547699660;
- Arc *a_1957008776;
- Arc *a_1813879408;
- Arc *a_713055406;
- Arc *a_533727422;
- Arc *a_1314008099;
- Arc *a_84401590;
- Arc *a_1266296143;
- Arc *a_2023601639;
- Arc *a_2128195109;
- Arc *a_770267990;
- Arc *a_1347483247;
- Arc *a_766308115;
- Arc **allArcs;
- int allArcsCount;
- // ====== firing policy ======
- FiringScheduler *firingScheduler;
- Helper *helper;
- // initial setup
- void setup() {
- Serial.begin(9600);
- // ====== general ======
- helper = new Helper(0);
- allPlacesCount = 6;
- allPlaces = (Place**) malloc(allPlacesCount*sizeof(Place*));
- allTransitionsCount = 10;
- allTransitions = (Transition**) malloc(allTransitionsCount*sizeof(Transition*));
- allArcsCount = 26;
- allArcs = (Arc**) malloc(allArcsCount*sizeof(Arc*));
- // ====== places ======
- p_13 = new Place("p_rain F");
- p_13->setCapacity(2);
- p_13->setTokens(0);
- allPlaces[0] = p_13;
- p_13->setThresholdRange(-1, -1);
- p_13->setInverseLogic(false);
- p_13->setHelper(helper);
- p_22 = new Place("p_manual", 11, DIGITAL_OUT);
- p_22->setCapacity(2);
- p_22->setTokens(0);
- allPlaces[1] = p_22;
- p_22->setThresholdRange(-1, -1);
- p_22->setInverseLogic(false);
- p_22->setHelper(helper);
- p_28 = new Place("p_auto", 12, DIGITAL_OUT);
- p_28->setCapacity(2);
- p_28->setTokens(0);
- allPlaces[2] = p_28;
- p_28->setThresholdRange(-1, -1);
- p_28->setInverseLogic(false);
- p_28->setHelper(helper);
- p_29 = new Place("p_guard");
- p_29->setCapacity(1);
- p_29->setTokens(1);
- allPlaces[3] = p_29;
- p_29->setThresholdRange(-1, -1);
- p_29->setInverseLogic(false);
- p_29->setHelper(helper);
- p_3 = new Place("p_rain S");
- p_3->setCapacity(2);
- p_3->setTokens(0);
- allPlaces[4] = p_3;
- p_3->setThresholdRange(-1, -1);
- p_3->setInverseLogic(false);
- p_3->setHelper(helper);
- p_5 = new Place("p_servo", 9, SERVO);
- p_5->setCapacity(6);
- p_5->setTokens(0);
- allPlaces[5] = p_5;
- p_5->setThresholdRange(-1, -1);
- p_5->setInverseLogic(false);
- p_5->setHelper(helper);
- // ====== transitions ======
- t_14 = new Transition("t_rain F trg", 0, ANALOG_IN);
- t_14->setThresholdRange(0, 449);
- t_14->setDelay(0, 0);
- t_14->setInverseLogic(false);
- t_14->setDelayOccurrenceType(NO);
- t_14->setPriority(1);
- t_14->setHelper(helper);
- allTransitions[0] = t_14;
- t_17 = new Transition("t_turnOff F");
- t_17->setDelay(700, 700);
- t_17->setInverseLogic(false);
- t_17->setDelayOccurrenceType(AFTER);
- t_17->setPriority(3);
- t_17->setHelper(helper);
- allTransitions[1] = t_17;
- t_18 = new Transition("t_turn on F");
- t_18->setDelay(700, 700);
- t_18->setInverseLogic(false);
- t_18->setDelayOccurrenceType(AFTER);
- t_18->setPriority(2);
- t_18->setHelper(helper);
- allTransitions[2] = t_18;
- t_2 = new Transition("t_rain S trg", 0, ANALOG_IN);
- t_2->setThresholdRange(450, 1000);
- t_2->setDelay(0, 0);
- t_2->setInverseLogic(false);
- t_2->setDelayOccurrenceType(NO);
- t_2->setPriority(1);
- t_2->setHelper(helper);
- allTransitions[3] = t_2;
- t_20 = new Transition("t_MANUAL", 4, DIGITAL_IN);
- t_20->setThresholdRange(-1, -1);
- t_20->setDelay(0, 0);
- t_20->setInverseLogic(false);
- t_20->setDelayOccurrenceType(NO);
- t_20->setPriority(0);
- t_20->setHelper(helper);
- allTransitions[4] = t_20;
- t_24 = new Transition("t_manual trgr");
- t_24->setDelay(0, 0);
- t_24->setInverseLogic(false);
- t_24->setDelayOccurrenceType(NO);
- t_24->setPriority(1);
- t_24->setHelper(helper);
- allTransitions[5] = t_24;
- t_25 = new Transition("t_OFF", 2, DIGITAL_IN);
- t_25->setThresholdRange(-1, -1);
- t_25->setDelay(0, 0);
- t_25->setInverseLogic(false);
- t_25->setDelayOccurrenceType(NO);
- t_25->setPriority(4);
- t_25->setHelper(helper);
- allTransitions[6] = t_25;
- t_26 = new Transition("t_AUTO", 3, DIGITAL_IN);
- t_26->setThresholdRange(-1, -1);
- t_26->setDelay(0, 0);
- t_26->setInverseLogic(false);
- t_26->setDelayOccurrenceType(NO);
- t_26->setPriority(0);
- t_26->setHelper(helper);
- allTransitions[7] = t_26;
- t_4 = new Transition("t_turnOn S");
- t_4->setDelay(700, 700);
- t_4->setInverseLogic(false);
- t_4->setDelayOccurrenceType(AFTER);
- t_4->setPriority(2);
- t_4->setHelper(helper);
- allTransitions[8] = t_4;
- t_7 = new Transition("t_turnOff S");
- t_7->setDelay(2000, 2000);
- t_7->setInverseLogic(false);
- t_7->setDelayOccurrenceType(AFTER);
- t_7->setPriority(3);
- t_7->setHelper(helper);
- allTransitions[9] = t_7;
- // ====== arcs ======
- a_695326262 = new Arc(p_22, t_24, regular, + 1);
- allArcs[0] = a_695326262;
- a_907867606 = new Arc(t_18, p_5, regular, + 5);
- allArcs[1] = a_907867606;
- a_1446112315 = new Arc(p_3, t_4, regular, + 1);
- allArcs[2] = a_1446112315;
- a_1635923666 = new Arc(t_4, p_5, regular, + 5);
- allArcs[3] = a_1635923666;
- a_552332219 = new Arc(p_28, t_14, regular, + 1);
- allArcs[4] = a_552332219;
- a_917921253 = new Arc(t_2, p_3, regular, + 1);
- allArcs[5] = a_917921253;
- a_1795255508 = new Arc(p_3, t_7, regular, + 1);
- allArcs[6] = a_1795255508;
- a_1505050988 = new Arc(t_24, p_13, regular, + 1);
- allArcs[7] = a_1505050988;
- a_1372075858 = new Arc(t_18, p_13, regular, + 1);
- allArcs[8] = a_1372075858;
- a_983687677 = new Arc(t_25, p_29, regular, + 1);
- allArcs[9] = a_983687677;
- a_23365127 = new Arc(p_22, t_25, reset, + 1);
- allArcs[10] = a_23365127;
- a_237252993 = new Arc(t_26, p_28, regular, + 1);
- allArcs[11] = a_237252993;
- a_979541003 = new Arc(p_13, t_17, regular, + 1);
- allArcs[12] = a_979541003;
- a_547699660 = new Arc(t_14, p_28, regular, + 1);
- allArcs[13] = a_547699660;
- a_1957008776 = new Arc(p_5, t_7, regular, + 5);
- allArcs[14] = a_1957008776;
- a_1813879408 = new Arc(p_29, t_20, regular, + 1);
- allArcs[15] = a_1813879408;
- a_713055406 = new Arc(t_4, p_3, regular, + 1);
- allArcs[16] = a_713055406;
- a_533727422 = new Arc(p_29, t_26, regular, + 1);
- allArcs[17] = a_533727422;
- a_1314008099 = new Arc(p_28, t_25, reset, + 1);
- allArcs[18] = a_1314008099;
- a_84401590 = new Arc(p_13, t_18, regular, + 1);
- allArcs[19] = a_84401590;
- a_1266296143 = new Arc(t_24, p_22, regular, + 1);
- allArcs[20] = a_1266296143;
- a_2023601639 = new Arc(t_14, p_13, regular, + 1);
- allArcs[21] = a_2023601639;
- a_2128195109 = new Arc(p_28, t_2, regular, + 1);
- allArcs[22] = a_2128195109;
- a_770267990 = new Arc(t_2, p_28, regular, + 1);
- allArcs[23] = a_770267990;
- a_1347483247 = new Arc(p_5, t_17, regular, + 5);
- allArcs[24] = a_1347483247;
- a_766308115 = new Arc(t_20, p_22, regular, + 1);
- allArcs[25] = a_766308115;
- // ====== wiring parts together ======
- Arc** ta_14 = (Arc**) malloc( 3*sizeof(Arc*));
- ta_14[0] = a_552332219;
- ta_14[1] = a_547699660;
- ta_14[2] = a_2023601639;
- t_14->setConnectedArcs(ta_14);
- t_14->setConnectedArcsCount(3);
- Arc** ta_17 = (Arc**) malloc( 2*sizeof(Arc*));
- ta_17[0] = a_979541003;
- ta_17[1] = a_1347483247;
- t_17->setConnectedArcs(ta_17);
- t_17->setConnectedArcsCount(2);
- Arc** ta_18 = (Arc**) malloc( 3*sizeof(Arc*));
- ta_18[0] = a_84401590;
- ta_18[1] = a_907867606;
- ta_18[2] = a_1372075858;
- t_18->setConnectedArcs(ta_18);
- t_18->setConnectedArcsCount(3);
- Arc** ta_2 = (Arc**) malloc( 3*sizeof(Arc*));
- ta_2[0] = a_917921253;
- ta_2[1] = a_2128195109;
- ta_2[2] = a_770267990;
- t_2->setConnectedArcs(ta_2);
- t_2->setConnectedArcsCount(3);
- Arc** ta_20 = (Arc**) malloc( 2*sizeof(Arc*));
- ta_20[0] = a_1813879408;
- ta_20[1] = a_766308115;
- t_20->setConnectedArcs(ta_20);
- t_20->setConnectedArcsCount(2);
- Arc** ta_24 = (Arc**) malloc( 3*sizeof(Arc*));
- ta_24[0] = a_1266296143;
- ta_24[1] = a_695326262;
- ta_24[2] = a_1505050988;
- t_24->setConnectedArcs(ta_24);
- t_24->setConnectedArcsCount(3);
- Arc** ta_25 = (Arc**) malloc( 3*sizeof(Arc*));
- ta_25[0] = a_1314008099;
- ta_25[1] = a_23365127;
- ta_25[2] = a_983687677;
- t_25->setConnectedArcs(ta_25);
- t_25->setConnectedArcsCount(3);
- Arc** ta_26 = (Arc**) malloc( 2*sizeof(Arc*));
- ta_26[0] = a_237252993;
- ta_26[1] = a_533727422;
- t_26->setConnectedArcs(ta_26);
- t_26->setConnectedArcsCount(2);
- Arc** ta_4 = (Arc**) malloc( 3*sizeof(Arc*));
- ta_4[0] = a_1635923666;
- ta_4[1] = a_1446112315;
- ta_4[2] = a_713055406;
- t_4->setConnectedArcs(ta_4);
- t_4->setConnectedArcsCount(3);
- Arc** ta_7 = (Arc**) malloc( 2*sizeof(Arc*));
- ta_7[0] = a_1795255508;
- ta_7[1] = a_1957008776;
- t_7->setConnectedArcs(ta_7);
- t_7->setConnectedArcsCount(2);
- // ====== firing policy ======
- firingScheduler = new FiringScheduler(BY_PRIORITY, allTransitions, allTransitionsCount, allPlaces, allPlacesCount);
- firingScheduler->setHelper(helper);
- firingScheduler->setHelper(helper);
- randomSeed(analogRead(0));
- for (int i = 0; i < allPlacesCount; i++) {
- allPlaces[i]->apply();
- }
- }
- // main infinite loop
- void loop() {
- Transition *nextToFire = firingScheduler->nextToFire();
- if(nextToFire != NULL) nextToFire->fire();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement