Skip to content

Commit

Permalink
docu
Browse files Browse the repository at this point in the history
  • Loading branch information
mathertel committed Sep 2, 2024
1 parent 4e965ba commit 4292c6a
Show file tree
Hide file tree
Showing 27 changed files with 209 additions and 176 deletions.
4 changes: 3 additions & 1 deletion .eleventy.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ module.exports = function(eleventyConfig) {

eleventyConfig.ignores.add("_site/**");
eleventyConfig.ignores.add(".vscode/**");

eleventyConfig.ignores.add("**/_*");
eleventyConfig.ignores.add("**/_*.*");

const contentFolders = ["boards", "boards", "concepts", "dev", "elements", "examples", "portal", "recipes", "sensors", "steps", "stories"];
const assetFolders = ["i", "v09", "v09m", "home"];

Expand Down
6 changes: 2 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@
*.code-workspace
node_modules
build
_articles
_site
_back
_*
_*.*
*.ppt*
*.pdf
*.docx
.zettel-notes/**

!_template.md
!_template.md
4 changes: 1 addition & 3 deletions boards/esp32/azureiotkit.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ and to mount the sd card file system on the `/sd` folder.

| function | ESP32 pin |
| -------- | --------- |
| CS | GPIO13 | ??? TODO: to be verified ! |
| CS | GPIO13 |
| SPI-bus | VSPI |


Expand Down Expand Up @@ -210,8 +210,6 @@ SSD1306
* The SSD1306 based display requires a reset line for some cases but the RST signal is not connected to any GPIO.




<https://forum.arduino.cc/t/how-to-best-configure-esp32-arduino-vs-code-debug/698140>

<https://www.esp32.com/viewtopic.php?t=23393>
Expand Down
2 changes: 1 addition & 1 deletion boards/esp32/readme.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: About using the ESP32 with HomeDing
tags: ["Board", "WIP", "TODO"]
tags: ["Board", "WIP"]
layout: "page.njk"
description: Links, material and tips for using ESP32 based boards with the HomeDing library.
excerpt: >
Expand Down
7 changes: 3 additions & 4 deletions dev/micro.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ This functionality or at least a part of it is required even for even small Home
The way how the web server is implemented is based on avoiding consuming server resources as much as possible and using the browser resources where possible.

> Implementing minimal javascript and CSS libraries is also part of the strategy of many web interfaces that must run smoothly on mobile devices because the network bandwidth is the most restricted resource for these use-cases as well.
> Some ***"micro"*** implementations are available on the internet that just offer basic features with the focus on size.
> More on this can be found in links provided below.
Expand All @@ -83,6 +82,7 @@ For Details see [Micro-IDE](/dev/microide.md).
The minimalist JavaScript implementation that implements templates, function and data binding and is available to the HomeDing devices.

The functionality offers

* to create new controls from given templates into the web page
* load data given in a JSON format
* fill data into placeholders
Expand Down Expand Up @@ -116,7 +116,7 @@ At these days a dedicated store was not part of the specification and is now add
This allows replaying data messages to the components based on the actual data in the store.


```
``` txt
actions -(publish)- > [data store] -> [filter] -> [library/component]
| |
+ <----- (subscribe) --------- +
Expand All @@ -132,9 +132,8 @@ A component that wants to participate in the data flows needs to register a call
The filter gets all data changes



## More reading material

* <https://css-tricks.com/a-minimal-javascript-setup/>
* <https://www.jotform.com/blog/11-minimal-javascript-frameworks-96416/>
* <https://github.com/fizker/minifier/blob/master/readme.md>
* <https://github.com/fizker/minifier/blob/master/readme.md>
2 changes: 2 additions & 0 deletions elements/audio/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ SI473xx -- radio chips from Silicon.

## Amplifiers

to come...

<!--
The TPA2016Element can control a TPA2016 chip that contains a stereo amplifier for analog audio signals with a I2C bus based volume control.
Expand Down
40 changes: 16 additions & 24 deletions elements/display/st7735.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,15 @@ excerpt: >
displays.
---

The support of colorful LCD / TFT displays like the ST7735 based displays
is done with the help of the Adafruit GFX library.
The support of colorful LCD / TFT displays like the ST7735 based displays is done with the help of the **Adafruit GFX**
library.

The Adafruit libraries for displays support a broad range of displays that all share a common
graphics library to draw graphic primitives called [Adafruit GFX] that supports 16 bit values
per pixel. Colors are coded using a 565 bit color scheme, enough for text and graphics with
selected colors.
The Adafruit libraries for displays support a broad range of displays that all share a common graphics library to draw
graphic primitives that supports 1 and 16 bit values per pixel. 16 bit Colors are coded using a 565 bit color scheme,
enough for text and graphics with selected colors.

Displaying pictures with rich color depth is somehow limited by this design decision but may LCD
displays anyway do not support more tha this.
Displaying pictures with rich color depth is somehow limited by this design decision but may LCD displays anyway do not
support more tha this.


## Configuration
Expand All @@ -32,47 +31,40 @@ Examples of configuration are available in the board descriptions that you can f

## Reset pin

Some displays support a hardware based reset signal that can be controlled by a distinct GPIO
output signal. The resetpin can be configured and will be used by the display adapter or driver
to initialize the display.
Some displays support a hardware based reset signal that can be controlled by a distinct GPIO output signal. The
resetpin can be configured and will be used by the display adapter or driver to initialize the display.


## Dimming the display

Some displays support to control the background light by using a distinct GPIO output signal.
The brightness pin can be configured and will be used by the display adapter or driver to
control the brightness of the display.
Some displays support to control the background light by using a distinct GPIO output signal. The brightness pin can be
configured and will be used by the display adapter or driver to control the brightness of the display.

Displays based on TFT technology need a background light. This is often available on a GPIO pin
and may be dimmed using PWM output.
Displays based on TFT technology need a background light. This is often available on a GPIO pin and may be dimmed using
PWM output.


## Rotating the Display

Displays are often part of boards and are used in various rotations.

The rotation can be configured using the values 0, 90, 180 and 270 and will be used to
initialize the display adapter or driver.
The rotation can be configured using the values 0, 90, 180 and 270 and will be used to initialize the display adapter or
driver.


## Display Resolutions

All resolutions supported by the Arduino_GFX library can be used.






## See also



* [Displays](/elements/display/index.md)
* [Fonts](/elements/display/fonts.md)

The ST7735 display chip is used by the following boards:

* [CORE-ESP32C3 development board](/boards/esp32c3/core.md)
* [LilyGO T-Dongle S3](/boards/esp32/lilygo-t-dongle-s3.md)
* [LilyGO T-Dongle S3](/boards/esp32s3/lilygo-t-dongle-s3.md)
* [Spotpear ESP32C3 1.44 LCD](/boards/esp32c3/spotpear-144lcd.md)
31 changes: 15 additions & 16 deletions examples/radio.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
title: Radio Example
layout: "page.njk"
tags: ["Example"]
excerpt: >
The **radio example** can be used with any board that has a 4MByte Flash memory, a FM radio receiving board,
a display and a rotary encoder with button.
---

:::excerpt
The **radio example** can be used with any board that has a 4MByte Flash memory, a FM radio receiving board, a display and a rotary encoder with button.
:::

In addition some wiring for amplifier and speaker or headphone connectors are required to create a full functional and remote controllable radio.

## Setup the development environment and board
Expand All @@ -20,7 +19,7 @@ There are some options in uploading the required software and registration on th

[Step by Step Bring your device to work](/steps/newdevice.md)

This includes:
This includes:

* Upload the sketch and Web UI
* Connect to the network
Expand Down Expand Up @@ -55,20 +54,20 @@ The following table contains all signal lines including the pin numbers:

| Signal | ESP8266 | LCD | Radio | Amp |
| --------- | ------- | ---- | ----- | --- |
| I2C Data | D2 | Data |
| I2C Data | D2 | Data | | |
| I2C Clock | D3 | CLK | #4 | #5 |
| VCC 3.3 |
| VCC 5 |
| VCC 3.3 | | | | |
| VCC 5 | | | | |
| GND | GND | GND | #4 | #5 |


## Pictures

* The board and other hardware required for this example.
* The board and other hardware required for this example.
![radio](/examples/radio.jpg)
* The unconnected main board and amplifier board.
* The unconnected main board and amplifier board.
![radio](/examples/radio2.jpg)
* Closer picture of the FM chip.
* Closer picture of the FM chip.
![radio](/examples/radio3.jpg)

## Board and Hardware to build the example
Expand Down Expand Up @@ -102,7 +101,7 @@ The elements that come with the example code are
* radio element
* TPA2016 element

These elements also show how elements can be implemented together with the sketch and are extending the capabilities of the device without the need to include them into the library.
These elements also show how elements can be implemented together with the sketch and are extending the capabilities of the device without the need to include them into the library.


## Using a Rotary encoder
Expand All @@ -121,7 +120,7 @@ When using the closing to ground approach the builtin pull up resistors of the c
* push-button => D7
* rotary1 => D6
* ground => GND
* rotary2 => D5
* rotary2 => D5

When the turn is in the wrong direction you just have to switch the two rotary signals.

Expand All @@ -133,17 +132,17 @@ Long press the buttons to create repeated up and down actions.

???

## Using the LCD
## Using the LCD

The LCD is one of the standard display types that is used in many Arduino solutions. Here a backpack is added to allow using the LCD display on the I2C bus.

The LCD uses 5V power but accepts 3.3 V signals in the I2C bus.
The LCD uses 5V power but accepts 3.3 V signals in the I2C bus.

![LCD](/examples/lcd.jpg)
![LCD](/examples/lcdback.jpg)

* GND => GND (black)
* VCC => VIN (red) (the 5V directly connected to the USB adapter)
* VCC => VIN (red) (the 5V directly connected to the USB adapter)
* SDA => D2 (blue)
* SCL => D1 (yellow)

Expand Down
16 changes: 8 additions & 8 deletions memo.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,21 @@ This page is used for temporary saving some information that will be required fo


## icons and defs
* [ ] color state

* [ ] color state
* [ ] icon: dcftime
* [ ] icon: digitalsequence
* [ ] icon + def: displaybar
* [ ] icon: wot
* [ ] icon: timer + schedule (rework)


## Audio

## Audio : tpa2016 / TPA2016D2

The TPA2016Element can control a TPA2016 chip that contains a stereo amplifier for analog audio signals with a I2C bus based volume control.

[tpa2016 Element](/elements/_tpa2016.md)


<https://www.sparkfun.com/products/20690>

TPA2016D2

TPA2016D2 stereo, filter-free class-D audio power amplifier.

Dynamic Range Compression (DRC)
Expand All @@ -38,4 +33,9 @@ configured through software via I2C

class-D 2.8W stereo Amplifier

<!-- [tpa2016 Element](/elements/_tpa2016.md) -->

<!-- ## Audio : WM8960 -->


TPA2005D1
2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ This project takes advantage on a client side Markdown to HTML conversion instea
The file **/index.htm** provides the "shell" for the markdown files by loading and transforming them before beeing displayed. The
**/toc.md** is used for the navigation on the left side that can be opened by the menu icon in the menubar.

Use links like <https://homeding.github.io/elements/index.md>.
Use links like <https://homeding.github.io/elements/index.htm>.
14 changes: 7 additions & 7 deletions tag/audio.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ layout: "page.njk"
description: All pages explaining Audio features of the HomeDing Library.
---

{%- for post in collections.Audio | sort(false, true, 'data.title') -%}
<p><a href="{{ post.url | url }}">{{ post.data.title }}</a> -- {{ post.data.excerpt }}
{%- endfor -%}
{% for post in collections.Audio | sort(false, true, 'data.title') %}

* [{{ post.data.title }}]({{ post.url | url }}) -- {{ post.data.excerpt }}

<h2> See also</h2>
{% endfor %}

<ul>
<li><a href="/tag/index.htm">All Tags</a></li>
</ul>

## See also

* [All Tags](/tag/index.md)
15 changes: 8 additions & 7 deletions tag/board.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@ excerpt: >
These pages contain information that relates to the boards with the ESP8266 or ESP32 processor.
---

{%- for post in collections.Board | sort(false, true, 'data.title') -%}
<p><a href="{{ post.url | url }}">{{ post.data.title }}</a> -- {{ post.data.excerpt }}
{%- endfor -%}
{% for post in collections.Board | sort(false, true, 'data.title') %}

<h2> See also</h2>
* [{{ post.data.title }}]({{ post.url | url }}) -- {{ post.data.excerpt }}

<ul>
<li><a href="/tag/index.htm">All Tags</a></li>
</ul>
{% endfor %}


## See also

* [All Tags](/tag/index.md)
16 changes: 16 additions & 0 deletions tag/display.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: Pages marked with a Display tag
layout: "page.njk"
description: All pages related to support Display based functionality in HomeDing Elements
---

{% for post in collections.Display | sort(false, true, 'data.title') %}

* [{{ post.data.title }}]({{ post.url | url }}) -- {{ post.data.excerpt }}

{% endfor %}


## See also

* [All Tags](/tag/index.md)
15 changes: 8 additions & 7 deletions tag/element.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ layout: "page.njk"
description: All pages related to HomeDing Elements.
---

{%- for post in collections.Element | sort(false, true, 'data.title') -%}
<p><a href="{{ post.url | url }}">{{ post.data.title }}</a> -- {{ post.data.excerpt }}
{%- endfor -%}
{% for post in collections.Element | sort(false, true, 'data.title') %}

<h2> See also</h2>
* [{{ post.data.title }}]({{ post.url | url }}) -- {{ post.data.excerpt }}

<ul>
<li><a href="/tag/index.htm">All Tags</a></li>
</ul>
{% endfor %}


## See also

* [All Tags](/tag/index.md)
Loading

0 comments on commit 4292c6a

Please sign in to comment.