|
@@ -0,0 +1,224 @@
|
|
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
+<xs:schema xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
|
|
|
|
|
+ xmlns:p5bws="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/WPS_Functions.xsd"
|
|
|
|
|
+ xmlns:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"
|
|
|
|
|
+ xmlns:p5ant="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd"
|
|
|
|
|
+ xmlns:p5suis="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/system_ui_info_speech/system_ui_info_speech.xsd"
|
|
|
|
|
+ xmlns:p5dg="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd"
|
|
|
|
|
+ xmlns:p5xsl="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/xsl_interface/xsl_interface.xsd"
|
|
|
|
|
+ xmlns:automation_driven="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.xsd"
|
|
|
|
|
+ xmlns:automation_driven.submodule="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.xsd"
|
|
|
|
|
+ xmlns:automation_driven.submodule.main="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.main.xsd"
|
|
|
|
|
+ xmlns:automation_driven.submodule.struct="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.struct.xsd"
|
|
|
|
|
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" vc:minVersion="1.1"
|
|
|
|
|
+ targetNamespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.progmem.xsd"
|
|
|
|
|
+ xmlns:automation_driven.submodule.prototypes="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.prototypes.xsd"
|
|
|
|
|
+ xmlns:automation_driven.submodule.appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.appinfo.xsd"
|
|
|
|
|
+ xmlns:automation_driven.submodule.namespaces="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.namespaces.xsd"
|
|
|
|
|
+ xmlns:automation_driven.submodule.runtime="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.runtime.xsd"
|
|
|
|
|
+ xmlns:automation_driven.submodule.main.setup="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.main.setup.xsd"
|
|
|
|
|
+ xmlns:automation_driven.submodule.progmem="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.progmem.xsd">
|
|
|
|
|
+ <xs:annotation>
|
|
|
|
|
+ <xs:documentation>Struiktura pliku do debugu...</xs:documentation>
|
|
|
|
|
+ </xs:annotation>
|
|
|
|
|
+ <xs:import
|
|
|
|
|
+ namespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.prototypes.xsd"
|
|
|
|
|
+ schemaLocation="automation_driven.submodule.prototypes.xsd"/>
|
|
|
|
|
+ <xs:import
|
|
|
|
|
+ namespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.appinfo.xsd"
|
|
|
|
|
+ schemaLocation="automation_driven.submodule.appinfo.xsd"/>
|
|
|
|
|
+ <xs:import
|
|
|
|
|
+ namespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.namespaces.xsd"
|
|
|
|
|
+ schemaLocation="automation_driven.submodule.namespaces.xsd"/>
|
|
|
|
|
+ <xs:import
|
|
|
|
|
+ namespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/automation_driven/automation_driven.submodule.runtime.xsd"
|
|
|
|
|
+ schemaLocation="automation_driven.submodule.runtime.xsd"/>
|
|
|
|
|
+ <xs:element name="define" type="automation_driven.submodule.appinfo:insert__code">
|
|
|
|
|
+ <xs:annotation>
|
|
|
|
|
+ <xs:appinfo>
|
|
|
|
|
+//### Defines for Flash saved Text #############################################
|
|
|
|
|
+#define FPr(x); Serial.print(FP(x)); // FlashPrint(FT)
|
|
|
|
|
+#define FPrL(x); Serial.println(FP(x)); // FlasPrintLine(FT)
|
|
|
|
|
+#define SPFT(x); Serial.print(FP(FT_##x)); // shorter version (ID)
|
|
|
|
|
+ #define SPFT2(x,y); Serial.print(FP(FT_##x)); Serial.print("["); Serial.print(y); Serial.print("] "); // shorter version (ID)
|
|
|
|
|
+
|
|
|
|
|
+#define SPFTL(x); Serial.println(FP(FT_##x)); // shorter version (ID)
|
|
|
|
|
+ #define SPFTL2(x,y); Serial.println(); Serial.println(FP(FT_##x)); Serial.print("["); Serial.print(y); Serial.print("] "); // shorter version (ID)
|
|
|
|
|
+
|
|
|
|
|
+#define SFP(x); Serial.print(FP(x));
|
|
|
|
|
+
|
|
|
|
|
+ #define USPFT(x); u8g2.print(FP(FT_##x)); // shorter version (ID)
|
|
|
|
|
+ #define USPFT2(x,y); u8g2.print(FP(FT_##x)); u8g2.print(y); // shorter version (ID)
|
|
|
|
|
+ // #define USPFTL(x); u8g2.println(FP(FT_##x)); // shorter version (ID)
|
|
|
|
|
+ // #define USPFTL2(x,y); u8g2.println(FP(FT_##x)); u8g2.print(y); // shorter version (ID)
|
|
|
|
|
+ #define USFP(x); u8g2.print(FP(x));
|
|
|
|
|
+ #define USFP2(x,y); u8g2.print(FP(x)); u8g2.print(y);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+#define FT(x,y); const char FT_##x[] PROGMEM = {y};// generate FlashText(ID,FT)
|
|
|
|
|
+#define FP(x) (__FlashStringHelper*)(x) // Helper
|
|
|
|
|
+//******************************************************************************
|
|
|
|
|
+
|
|
|
|
|
+//### Shortening standard Serial.Print F() #####################################
|
|
|
|
|
+#define SPr(x); Serial.print(x); // short for Serial.print
|
|
|
|
|
+#define SPrL(x); Serial.println(x); // short for Serial.println
|
|
|
|
|
+#define SPrF(x); SPr(F(x)); // short for F-Macro Serial.print
|
|
|
|
|
+#define SPrLF(x); SPrL(F(x)); // short for F-Macro Serial.println
|
|
|
|
|
+//******************************************************************************
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+//### Shortening standard Serial.Print F() #####################################
|
|
|
|
|
+#define USPr(x); u8g2.print(x); // short for Serial.print
|
|
|
|
|
+#define USPrL(x); u8g2.print(x); // short for Serial.println
|
|
|
|
|
+#define USPrF(x); USPr(F(x)); // short for F-Macro Serial.print
|
|
|
|
|
+#define USPrLF(x); USPrL(F(x)); // short for F-Macro Serial.println
|
|
|
|
|
+//******************************************************************************
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+//### Generate global Flash saved strings ######################################
|
|
|
|
|
+//FT(0,"Text 0"); // Flash Text FT_0
|
|
|
|
|
+//FT(1,"This is a global saved and Flash "
|
|
|
|
|
+ // "saved Text!"); // FT_1
|
|
|
|
|
+//FT(2,"File: " __FILE__ " Date: " __DATE__ " Time: " __TIME__);// FT_2
|
|
|
|
|
+//FT(3,"***************************************************"); // FT_3
|
|
|
|
|
+//FT(B4,"*\t RS232 Menu\t\t\t\t *"); // FT_4
|
|
|
|
|
+//FT(5,"###################################################"); // FT_3</xs:appinfo>
|
|
|
|
|
+ </xs:annotation>
|
|
|
|
|
+ </xs:element>
|
|
|
|
|
+ <xs:element name="helper_elements">
|
|
|
|
|
+ <xs:annotation>
|
|
|
|
|
+ <xs:appinfo>
|
|
|
|
|
+FT(TASK_config__set__increment, "## T++" );
|
|
|
|
|
+FT(TASK_config__set, "## T+" );
|
|
|
|
|
+
|
|
|
|
|
+FT(TASK_p5__task__loop__run, "## TX" );
|
|
|
|
|
+
|
|
|
|
|
+FT(TASK_ATTR, " #@ ");
|
|
|
|
|
+FT(TODO_INDEX__REQUESTED, "IND REQ");
|
|
|
|
|
+FT(TODO_LOOP__BREAK, "BREAK");
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+FT(TODO_ATTR__NOT_EXISTS, "NOT_EXISTS");
|
|
|
|
|
+FT(TODO_ATTR__EXISTS, "EXISTS");
|
|
|
|
|
+
|
|
|
|
|
+FT(TODO_ATTR__ERROR__LIMITS, " ERROR LIMIT ELEMENTS ");
|
|
|
|
|
+FT(TODO_ATTR__ERROR__NOT_FOUND, " ERROR NOT FOUND ");
|
|
|
|
|
+FT(TODO_ATTR__OK__SAVED, " OK SAVED ");
|
|
|
|
|
+FT(TODO_ATTR__OK__SAVED__INIT, " OK SAVED_INI ");
|
|
|
|
|
+FT(TODO_ASSERT__EXISTS, "ASSERT EXISTS");
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+FT(TASK_LOOP, " ###L1 ");
|
|
|
|
|
+FT(TASK_LOOP_EXEC, " Lx");
|
|
|
|
|
+
|
|
|
|
|
+FT(TASK_PWM," PWM ");
|
|
|
|
|
+FT(TASK_SWING," SWING ");
|
|
|
|
|
+FT(TASK_DISPLAY," DISPLAY ");
|
|
|
|
|
+FT(TASK_I2C," I2C ");
|
|
|
|
|
+FT(TASK_p5__i2c__loop, "I2C@L"); //todo
|
|
|
|
|
+FT(TASK_p5__swing__loop, "SWING@L");
|
|
|
|
|
+</xs:appinfo>
|
|
|
|
|
+ </xs:annotation>
|
|
|
|
|
+ </xs:element>
|
|
|
|
|
+ <xs:element name="typedefs">
|
|
|
|
|
+ <xs:annotation>
|
|
|
|
|
+ <xs:appinfo>
|
|
|
|
|
+//### Typedefs ################################################################
|
|
|
|
|
+typedef void(*pF)(void); // Pointer to void FCN(void)
|
|
|
|
|
+//*****************************
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+
|
|
|
|
|
+ #define CMD_CNT (sizeof(CmdAR)/sizeof(CmdAR[0])) // Number of Commands
|
|
|
|
|
+
|
|
|
|
|
+ //### Define RS232-Command-Array ##############################################
|
|
|
|
|
+ Commands CmdAR[] = {
|
|
|
|
|
+ // cmd1, cmd2, callback, info
|
|
|
|
|
+ {"TASK", "t ", cTask, "set Task Parameter (ID, Periode, Set, CNT, Offset)"},
|
|
|
|
|
+ {"Set", "s ", cTask, "set Task Parameter (ID, Periode, Set, CNT, Offset)"},
|
|
|
|
|
+ {"LCDBL", "lcdb", cLcdBL, "set LCD BackLight (off/Auto-Off Periode)" }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ void cTask(){
|
|
|
|
|
+ SPrLF("cTask");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ void cLcdBL(){
|
|
|
|
|
+ SPrLF("cLcdBL");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ void printComands(){
|
|
|
|
|
+ SPrL();
|
|
|
|
|
+ //SPrLF("**************************************************");
|
|
|
|
|
+ SPFTL(3);
|
|
|
|
|
+ //SPrLF("*\tRS232 Command List\t\t\t *");
|
|
|
|
|
+ SPFTL(B4);
|
|
|
|
|
+ //SPrLF("**************************************************");
|
|
|
|
|
+ SPFTL(3);
|
|
|
|
|
+ SPrLF("Cmd1\t, Cmd2\t, Info (Parameter)");
|
|
|
|
|
+ for(byte i=0; i<CMD_CNT; i++){
|
|
|
|
|
+ SPrF(" ");
|
|
|
|
|
+ //SPr(FP(CmdAR[i].cmd1)); SPrF("\t, ");
|
|
|
|
|
+ SFP(CmdAR[i].cmd1); SPrF("\t, ");
|
|
|
|
|
+ SFP(CmdAR[i].cmd2); SPrF("\t, ");
|
|
|
|
|
+ SFP(CmdAR[i].info);
|
|
|
|
|
+ SPrL();
|
|
|
|
|
+ }
|
|
|
|
|
+ SPrL();
|
|
|
|
|
+ //SPrLF("**************************************************");
|
|
|
|
|
+ SPFTL(3);
|
|
|
|
|
+ SPrLF("Type: < Command1/2, Val1, Val2, Val3, Val4, Val5");
|
|
|
|
|
+ SPrL();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //### Setup() #####################################################
|
|
|
|
|
+ void setup() {
|
|
|
|
|
+ Serial.begin(230400);
|
|
|
|
|
+ SPrL();
|
|
|
|
|
+ Serial.println(F("Macro-Based, only single "
|
|
|
|
|
+ "In-Function usable Flash saved Text."));
|
|
|
|
|
+ SPrLF("...the same, but shorter command ");
|
|
|
|
|
+
|
|
|
|
|
+ SPrL(); // Newline
|
|
|
|
|
+
|
|
|
|
|
+ FPrL(FT_0); // Serial Print Line Flash saved Text
|
|
|
|
|
+ FPrL(FT_1);
|
|
|
|
|
+ SPFTL(2); // Shortest Version SerialPrintFlashText(ID)
|
|
|
|
|
+ SPFTL(5);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }//void setup()
|
|
|
|
|
+ //*****************************************************************
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //### Main loop() #################################################
|
|
|
|
|
+ void loop(){
|
|
|
|
|
+
|
|
|
|
|
+ // reuse same string anywere in the Code
|
|
|
|
|
+ //SPrL(); // Newline
|
|
|
|
|
+ //SPFTL(3); // Headder, SerialPrintFlashTextLine
|
|
|
|
|
+ //SPFTL(B4);
|
|
|
|
|
+ //SPFTL(3);
|
|
|
|
|
+
|
|
|
|
|
+ SPrL();
|
|
|
|
|
+ printComands();
|
|
|
|
|
+
|
|
|
|
|
+ delay(10000);
|
|
|
|
|
+ }// void loop()
|
|
|
|
|
+ //*****************************************************************
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ </xs:appinfo>
|
|
|
|
|
+ </xs:annotation>
|
|
|
|
|
+ </xs:element>
|
|
|
|
|
+</xs:schema>
|