<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Example Programs on </title>
    <link>/esp32/exampleprogs/</link>
    <description>Recent content in Example Programs on </description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Fri, 24 Mar 2023 16:15:27 -0700</lastBuildDate><atom:link href="/esp32/exampleprogs/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>self_blink.ino</title>
      <link>/esp32/exampleprogs/self_blink/</link>
      <pubDate>Fri, 24 Mar 2023 16:15:27 -0700</pubDate>
      
      <guid>/esp32/exampleprogs/self_blink/</guid>
      <description>self_blink.ino  // * *********************************************************** // selfcircuits.com // This File : self_blink.ino // Description : This program simply flashes all three LEDs // * ***********************************************************  void setup() { pinMode(23, OUTPUT); // red  pinMode(18, OUTPUT); // green  pinMode(19, OUTPUT); // blue } void loop() { int i; for (i = 0; i &amp;lt; 4; i++) { if (i == 0) { digitalWrite(23, 1); delay(250); digitalWrite(23, 0); delay(250); } else if (i == 1) { digitalWrite(18, 1); delay(250); digitalWrite(18, 0); delay(250); } else if (i == 2) { digitalWrite(19, 1); delay(250); digitalWrite(19, 0); delay(250); } else if (i == 3) { delay(250); } } }    </description>
    </item>
    
    <item>
      <title>self_demo.ino</title>
      <link>/esp32/exampleprogs/self_demo/</link>
      <pubDate>Fri, 24 Mar 2023 16:15:27 -0700</pubDate>
      
      <guid>/esp32/exampleprogs/self_demo/</guid>
      <description>self_demo.ino  /* This File : self_demo.ino */ /* Date : 01/14/2023 */ /* Rev : 1.0 */ #include &amp;lt;SPI.h&amp;gt;#include &amp;lt;Wire.h&amp;gt; #include &amp;lt;driver/adc.h&amp;gt; // ************************************************************* // JMS981 Buttons // BSTATE = (BHM &amp;lt;&amp;lt; 6) + (BEN &amp;lt;&amp;lt; 5) + (BLT &amp;lt;&amp;lt; 4) + (BRT &amp;lt;&amp;lt; 3) + (BUP &amp;lt;&amp;lt; 2) + (BDN &amp;lt;&amp;lt; 1) + (BSW); // ************************************************************* #define BHM_PIN 5 #define BEN_PIN 32 #define BLT_PIN 27 #define BRT_PIN 4 #define BUP_PIN 0 #define BDN_PIN 2 #define BSW_PIN 33  #define BHM_ON 0 #define BEN_ON 0 #define BLT_ON 0 #define BRT_ON 0 #define BUP_ON 0 #define BDN_ON 0 #define BSW_ON 0  #define DIO_RED 23 #define DIO_GRN 18 #define DIO_BLU 19  #define SPK_PIN 26  #define BHM_PIN_TYPE INPUT_PULLUP #define BEN_PIN_TYPE INPUT_PULLUP #define BLT_PIN_TYPE INPUT_PULLUP #define BRT_PIN_TYPE INPUT_PULLUP #define BUP_PIN_TYPE INPUT_PULLUP #define BDN_PIN_TYPE INPUT_PULLUP #define BSW_PIN_TYPE INPUT_PULLUP  #define DIO_RED_TYPE OUTPUT #define DIO_GRN_TYPE OUTPUT #define DIO_BLU_TYPE OUTPUT  #define SPK_PIN_TYPE OUTPUT  #define BHM_MASK (1 &amp;lt;&amp;lt; 6) #define BEN_MASK (1 &amp;lt;&amp;lt; 5) #define BLT_MASK (1 &amp;lt;&amp;lt; 4) #define BRT_MASK (1 &amp;lt;&amp;lt; 3) #define BUP_MASK (1 &amp;lt;&amp;lt; 2) #define BDN_MASK (1 &amp;lt;&amp;lt; 1) #define BSW_MASK (1 &amp;lt;&amp;lt; 0)  #define BHM_OFF (1-BHM_ON) #define BEN_OFF (1-BEN_ON) #define BLT_OFF (1-BLT_ON) #define BRT_OFF (1-BRT_ON) #define BUP_OFF (1-BUP_ON) #define BDN_OFF (1-BDN_ON) #define BSW_OFF (1-BSW_ON)  #define DIO_ON 1 #define DIO_OFF 0 // *************************************************************  // ************************************************************* // Function State Variables // *************************************************************  // Main Menu #define NUM_MODES 5 uint8_t mdx; uint8_t mm; uint8_t mm_num; uint8_t mm_sel; uint8_t mm_start; char *mm_name[NUM_MODES]; // Kitchen Timer uint8_t kt_run; uint8_t kt_idx; uint32_t kt_del[9]; uint32_t kt_len; uint8_t kt_fin; uint32_t gg_hrs; uint32_t gg_min; uint32_t gg_sec; uint32_t gg_dec; // Metronome uint8_t mt_run; uint8_t mt_idx; uint16_t mt_del[10]; uint16_t mt_bpm; uint16_t mt_cnt; uint16_t mt_frq; // Chess Timer uint8_t jjspeak_cnt; uint8_t ct_run; uint8_t ct_idx; uint32_t ct_del[8]; uint32_t ct_lenA; uint32_t ct_lenB; uint8_t ct_fin; uint32_t ct_ma0; uint32_t ct_ma1; uint32_t ct_ma2; uint32_t ct_ma3; uint32_t ct_mb0; uint32_t ct_mb1; uint32_t ct_mb2; uint32_t ct_mb3; uint32_t ct_fnA; uint32_t ct_fnB; // Messages uint8_t msg_cnt; // *************************************************************  #include &amp;#34;self_display.</description>
    </item>
    
    <item>
      <title>self_demo_gui.py</title>
      <link>/esp32/exampleprogs/self_demo_gui/</link>
      <pubDate>Fri, 24 Mar 2023 16:15:27 -0700</pubDate>
      
      <guid>/esp32/exampleprogs/self_demo_gui/</guid>
      <description>self_demo_gui.py  # This File : self_demo_gui.py # Date : 12/28/2022 # Rev : 1.0 # https://www.pythontutorial.net/tkinter/tkinter-grid/ # https://realpython.com/python-gui-tkinter/ # widget relief : tk.FLAT SUNKEN RAISED GROOVE RIDGE import serial import serial.tools.list_ports import tkinter as tk global ser global ser_open ser_open = False # text terminal global term_numl global term_num term_numl = 25 term_num = 0 def term_addLine(lstr): global term_numl global term_num global ser global ser_open txt_uart.configure(state=&amp;#39;normal&amp;#39;) if (term_num == term_numl): txt_uart.</description>
    </item>
    
  </channel>
</rss>
