add block for timestamp from internal rtc
This commit is contained in:
		
							parent
							
								
									9526b154bf
								
							
						
					
					
						commit
						a4641938f0
					
				| @ -97,9 +97,8 @@ Blockly.Blocks["sensebox_internal_rtc_set"] = { | |||||||
|   init: function () { |   init: function () { | ||||||
|     this.setHelpUrl(Blockly.Msg.sensebox_rtc_helpurl); |     this.setHelpUrl(Blockly.Msg.sensebox_rtc_helpurl); | ||||||
|     this.setColour(getColour().time); |     this.setColour(getColour().time); | ||||||
|     this.appendDummyInput().appendField(Blockly.Msg.sensebox_internal_rtc_set); |  | ||||||
|     this.appendValueInput("time").appendField( |     this.appendValueInput("time").appendField( | ||||||
|       Blockly.Msg.sensebox_internal_rtc_epoch |       Blockly.Msg.sensebox_internal_rtc_set | ||||||
|     ); |     ); | ||||||
|     this.setPreviousStatement(true); |     this.setPreviousStatement(true); | ||||||
|     this.setNextStatement(true); |     this.setNextStatement(true); | ||||||
| @ -129,3 +128,15 @@ Blockly.Blocks["sensebox_internal_rtc_get"] = { | |||||||
|     this.setTooltip(Blockly.Msg.sensebox_internal_rtc_get_tooltip); |     this.setTooltip(Blockly.Msg.sensebox_internal_rtc_get_tooltip); | ||||||
|   }, |   }, | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | Blockly.Blocks["sensebox_internal_rtc_get_timestamp"] = { | ||||||
|  |   init: function () { | ||||||
|  |     this.setHelpUrl(Blockly.Msg.sensebox_internal_rtc_helpurl); | ||||||
|  |     this.setColour(getColour().time); | ||||||
|  |     this.appendDummyInput().appendField( | ||||||
|  |       Blockly.Msg.sensebox_internal_rtc_get_timestamp | ||||||
|  |     ); | ||||||
|  |     this.setOutput(true); | ||||||
|  |     this.setTooltip(Blockly.Msg.sensebox_internal_rtc_get_timestamp_tooltip); | ||||||
|  |   }, | ||||||
|  | }; | ||||||
|  | |||||||
| @ -14,6 +14,6 @@ Blockly.Arduino.sensebox_ntp_init = function () { | |||||||
| 
 | 
 | ||||||
| Blockly.Arduino.sensebox_ntp_get = function () { | Blockly.Arduino.sensebox_ntp_get = function () { | ||||||
|   var format = this.getFieldValue("dropdown"); |   var format = this.getFieldValue("dropdown"); | ||||||
|   var code = `timeClient.${format}();`; |   var code = `timeClient.${format}()`; | ||||||
|   return [code, Blockly.Arduino.ORDER_ATOMIC]; |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -115,5 +115,25 @@ Blockly.Arduino.sensebox_internal_rtc_set = function () { | |||||||
| Blockly.Arduino.sensebox_internal_rtc_get = function () { | Blockly.Arduino.sensebox_internal_rtc_get = function () { | ||||||
|   var dropdown = this.getFieldValue("dropdown"); |   var dropdown = this.getFieldValue("dropdown"); | ||||||
|   var code = `rtc.get${dropdown}()`; |   var code = `rtc.get${dropdown}()`; | ||||||
|   return code; |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | Blockly.Arduino.sensebox_internal_rtc_get_timestamp = function () { | ||||||
|  |   Blockly.Arduino.variables_["rtc_timestamp"] = `char timestamp[20];`; | ||||||
|  |   Blockly.Arduino.codeFunctions_["getTimeStamp"] = ` | ||||||
|  | char* getTimeStamp() { | ||||||
|  | uint8_t sec, min, hour, day, month; | ||||||
|  |  uint16_t year; | ||||||
|  | sec = rtc.getSeconds(); | ||||||
|  | min = rtc.getMinutes(); | ||||||
|  | hour = rtc.getHours(); | ||||||
|  | day = rtc.getDay(); | ||||||
|  | month = rtc.getMonth(); | ||||||
|  | year = rtc.getYear(); | ||||||
|  |  sprintf(timestamp, "%02d-%02d-%02dT%02d:%02d:%02dZ", year, month, day, hour, min, sec); | ||||||
|  |  return timestamp; | ||||||
|  |  } | ||||||
|  |   `;
 | ||||||
|  |   var code = `getTimeStamp()`; | ||||||
|  |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -434,7 +434,8 @@ if (airSensor.begin() == false) | |||||||
|   while (1) |   while (1) | ||||||
|     ; |     ; | ||||||
| }`;
 | }`;
 | ||||||
|   Blockly.Arduino.setupCode_["scd30_staleData"] = "airSensor.useStaleData(true);"; |   Blockly.Arduino.setupCode_["scd30_staleData"] = | ||||||
|  |     "airSensor.useStaleData(true);"; | ||||||
|   var code = ""; |   var code = ""; | ||||||
|   switch (dropdown) { |   switch (dropdown) { | ||||||
|     case "temperature": |     case "temperature": | ||||||
|  | |||||||
| @ -1,14 +1,11 @@ | |||||||
| export const NTP = { | export const NTP = { | ||||||
|   sensebox_ntp_init: "Initialisiere NTP", |   sensebox_ntp_init: "Initialisiere NTP", | ||||||
|   sensebox_ntp_init_tooltip: |   sensebox_ntp_init_tooltip: "Initialisiere den NTP Server.", | ||||||
|     "Initialisiere die RTC. Schließe diese an einen der 5 I2C/Wire Anschlüsse an und lege die Batterie ein. Bevor du die Uhrzeit auslesen kannst muss diese zunächst einmal gesetzt werden. Dieser Schritt muss normalerweise nur einmalig durchgeführt werden.", |   sensebox_ntp_get: "Hole Zeit von NTP Server: ", | ||||||
|   sensebox_ntp_set_tooltip: |  | ||||||
|     "Stellt die Uhrzeit der RTC ein. Beachte, dass du diesen Block im Setup ausführst.", |  | ||||||
|   sensebox_ntp_get: "Zeitstempel (RFC 3339)", |  | ||||||
|   sensebox_ntp_get_timestamp_tooltip: |   sensebox_ntp_get_timestamp_tooltip: | ||||||
|     "Gibt dir einen in ISO 8601 formatierten Zeitstempel zurück. Bsp: 2021-12-24T18:21Z", |     "Gibt dir einen in ISO 8601 formatierten Zeitstempel zurück. Bsp: 2021-12-24T18:21Z", | ||||||
|   sensebox_ntp_get_tooltip: |   sensebox_ntp_get_tooltip: | ||||||
|     "Gibt dir den ausgewählten Wert zurück. Unix Zeit entspricht der Anzahl der Sekunden seit dem 1.1.1970", |     "Gibt dir den ausgewählten Wert zurück. Unix Zeit entspricht der Anzahl der Sekunden seit dem 1.1.1970", | ||||||
|   sensebox_ntp_epochTime: "Unix Zeit", |   sensebox_ntp_epochTime: "Unix Zeit", | ||||||
|   sensebox_ntp_formattedTimeStamp: "Zeitstempel", |   sensebox_ntp_formattedTimeStamp: "Zeitstempel (hh:mm:ss)", | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ export const RTC = { | |||||||
|   sensebox_rtc_set: "Setze Uhrzeit/Datum der externen RTC", |   sensebox_rtc_set: "Setze Uhrzeit/Datum der externen RTC", | ||||||
|   sensebox_rtc_set_tooltip: |   sensebox_rtc_set_tooltip: | ||||||
|     "Stellt die Uhrzeit der RTC ein. Beachte, dass du diesen Block im Setup ausführst.", |     "Stellt die Uhrzeit der RTC ein. Beachte, dass du diesen Block im Setup ausführst.", | ||||||
|   sensebox_rtc_get_timestamp: "Zeitstempel (RFC 3339)", |   sensebox_rtc_get_timestamp: "Zeitstempel externe RTC (RFC 3339)", | ||||||
|   sensebox_rtc_get_timestamp_tooltip: |   sensebox_rtc_get_timestamp_tooltip: | ||||||
|     "Gibt dir einen in ISO 8601 formatierten Zeitstempel zurück. Bsp: 2021-12-24T18:21Z", |     "Gibt dir einen in ISO 8601 formatierten Zeitstempel zurück. Bsp: 2021-12-24T18:21Z", | ||||||
|   sensebox_rtc_get: "Wert (externe RTC): ", |   sensebox_rtc_get: "Wert (externe RTC): ", | ||||||
| @ -16,18 +16,18 @@ export const RTC = { | |||||||
|   sensebox_rtc_day: "Tag", |   sensebox_rtc_day: "Tag", | ||||||
|   sensebox_rtc_month: "Monat", |   sensebox_rtc_month: "Monat", | ||||||
|   sensebox_rtc_year: "Jahr", |   sensebox_rtc_year: "Jahr", | ||||||
|   sensebox_internal_rtc_init: "Initialise internal RTC", |   sensebox_internal_rtc_init: "Initialisiere interne RTC", | ||||||
|   sensebox_internal_rtc_init_tooltip: |   sensebox_internal_rtc_init_tooltip: | ||||||
|     "Initialise the internal RTC. This RTC is not battery backed and will be reset on every power cycle.", |     "Initialisieren der internen RTC. Diese RTC ist nicht batteriegepuffert und wird bei jedem Einschaltvorgang zurückgesetzt", | ||||||
|   sensebox_internal_rtc_set: "Set internal RTC time/date:", |   sensebox_internal_rtc_set: "Setze interne RTC Zeit/Datum (Unix Time)", | ||||||
|   sensebox_internal_rtc_set_tooltip: |   sensebox_internal_rtc_set_tooltip: | ||||||
|     "Sets the time of the internal RTC. Note that you execute this block in the setup.", |     "Setzt die Zeit der internen RTC. Führe den Block einmalig im Setup aus und setzte die Uhrzeit über die Unix Zeit.", | ||||||
|   sensebox_internal_rtc_get: "Wert (interne RTC): ", |   sensebox_internal_rtc_get: "Wert (interne RTC): ", | ||||||
|   sensebox_internal_rtc_get_timestamp: "Get internal RTC timestamp", |   sensebox_internal_rtc_get_timestamp: "Zeitstempel interne RTC (RFC 3339)", | ||||||
|   sensebox_internal_rtc_get_timestamp_tooltip: |   sensebox_internal_rtc_get_timestamp_tooltip: | ||||||
|     "Returns a timestamp formatted in ISO 8601. Ex: 2021-12-24T18:21Z", |     "Returns a timestamp formatted in ISO 8601. Ex: 2021-12-24T18:21Z", | ||||||
|   sensebox_internal_rtc_get_tooltip: "Returns the selected value", |   sensebox_internal_rtc_get_tooltip: "Gibt den ausgewählten Wert zurück", | ||||||
|   sensebox_internal_rtc_epoch: "epoch", |   sensebox_internal_rtc_epoch: "Unix Zeit", | ||||||
|   sensebox_internal_rtc_year: "Jahr", |   sensebox_internal_rtc_year: "Jahr", | ||||||
|   sensebox_internal_rtc_month: "Monat", |   sensebox_internal_rtc_month: "Monat", | ||||||
|   sensebox_internal_rtc_day: "Tag", |   sensebox_internal_rtc_day: "Tag", | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ export const NTP = { | |||||||
|   sensebox_ntp_init: "Initialise NTP", |   sensebox_ntp_init: "Initialise NTP", | ||||||
|   sensebox_ntp_init_tooltip: |   sensebox_ntp_init_tooltip: | ||||||
|     "Initialisiere die RTC. Schließe diese an einen der 5 I2C/Wire Anschlüsse an und lege die Batterie ein. Bevor du die Uhrzeit auslesen kannst muss diese zunächst einmal gesetzt werden. Dieser Schritt muss normalerweise nur einmalig durchgeführt werden.", |     "Initialisiere die RTC. Schließe diese an einen der 5 I2C/Wire Anschlüsse an und lege die Batterie ein. Bevor du die Uhrzeit auslesen kannst muss diese zunächst einmal gesetzt werden. Dieser Schritt muss normalerweise nur einmalig durchgeführt werden.", | ||||||
|   sensebox_ntp_get: "Hole Zeit von NTP Server", |   sensebox_ntp_get: "Get time from NTP Server: ", | ||||||
|   sensebox_ntp_get_tooltip: |   sensebox_ntp_get_tooltip: | ||||||
|     "Gibt dir den ausgewählten Wert zurück. Unix Zeit entspricht der Anzahl der Sekunden seit dem 1.1.1970", |     "Gibt dir den ausgewählten Wert zurück. Unix Zeit entspricht der Anzahl der Sekunden seit dem 1.1.1970", | ||||||
|   sensebox_ntp_epochTime: "Unix time", |   sensebox_ntp_epochTime: "Unix time", | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ export const RTC = { | |||||||
|   sensebox_rtc_set: "Set RTC time/date:", |   sensebox_rtc_set: "Set RTC time/date:", | ||||||
|   sensebox_rtc_set_tooltip: |   sensebox_rtc_set_tooltip: | ||||||
|     "Sets the time of the RTC. Note that you execute this block in the setup.", |     "Sets the time of the RTC. Note that you execute this block in the setup.", | ||||||
|   sensebox_rtc_get_timestamp: "Get timestamp", |   sensebox_rtc_get_timestamp: "Timestamp external RTC (RFC 3339)", | ||||||
|   sensebox_rtc_get_timestamp_tooltip: |   sensebox_rtc_get_timestamp_tooltip: | ||||||
|     "Returns a timestamp formatted in ISO 8601. Ex: 2021-12-24T18:21Z", |     "Returns a timestamp formatted in ISO 8601. Ex: 2021-12-24T18:21Z", | ||||||
|   sensebox_rtc_get_tooltip: "Returns the selected value", |   sensebox_rtc_get_tooltip: "Returns the selected value", | ||||||
| @ -24,11 +24,11 @@ export const RTC = { | |||||||
|   sensebox_internal_rtc_set_tooltip: |   sensebox_internal_rtc_set_tooltip: | ||||||
|     "Sets the time of the internal RTC. Note that you execute this block in the setup.", |     "Sets the time of the internal RTC. Note that you execute this block in the setup.", | ||||||
|   sensebox_internal_rtc_get: "Get: ", |   sensebox_internal_rtc_get: "Get: ", | ||||||
|   sensebox_internal_rtc_get_timestamp: "Get internal RTC timestamp", |   sensebox_internal_rtc_get_timestamp: "Timestamp internal RTC (RFC 3339)", | ||||||
|   sensebox_internal_rtc_get_timestamp_tooltip: |   sensebox_internal_rtc_get_timestamp_tooltip: | ||||||
|     "Returns a timestamp formatted in ISO 8601. Ex: 2021-12-24T18:21Z", |     "Returns a timestamp formatted in ISO 8601. Ex: 2021-12-24T18:21Z", | ||||||
|   sensebox_internal_rtc_get_tooltip: "Returns the selected value", |   sensebox_internal_rtc_get_tooltip: "Returns the selected value", | ||||||
|   sensebox_internal_rtc_epoch: "epoch", |   sensebox_internal_rtc_epoch: "Unix Time", | ||||||
|   sensebox_internal_rtc_year: "year", |   sensebox_internal_rtc_year: "year", | ||||||
|   sensebox_internal_rtc_month: "month", |   sensebox_internal_rtc_month: "month", | ||||||
|   sensebox_internal_rtc_day: "day", |   sensebox_internal_rtc_day: "day", | ||||||
|  | |||||||
| @ -549,6 +549,7 @@ class Toolbox extends React.Component { | |||||||
|             <Block type="sensebox_internal_rtc_init"></Block> |             <Block type="sensebox_internal_rtc_init"></Block> | ||||||
|             <Block type="sensebox_internal_rtc_set"></Block> |             <Block type="sensebox_internal_rtc_set"></Block> | ||||||
|             <Block type="sensebox_internal_rtc_get"></Block> |             <Block type="sensebox_internal_rtc_get"></Block> | ||||||
|  |             <Block type="sensebox_internal_rtc_get_timestamp"></Block> | ||||||
|           </Category> |           </Category> | ||||||
|           <Category |           <Category | ||||||
|             id="timeUTP" |             id="timeUTP" | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user