diff --git a/docs/DeviceProfiles.md b/docs/DeviceProfiles.md index 269b4af0..053d10e7 100644 --- a/docs/DeviceProfiles.md +++ b/docs/DeviceProfiles.md @@ -30,6 +30,31 @@ To change the device profile, navigate to the "Device Manager" and selected the "clk_mode": -1 } }, + { + "name": "Generic NodeMCU 38 pin with SSD1306", + "nrf24": { + "miso": 19, + "mosi": 23, + "clk": 18, + "irq": 16, + "en": 4, + "cs": 5 + }, + "eth": { + "enabled": false, + "phy_addr": -1, + "power": -1, + "mdc": -1, + "mdio": -1, + "type": -1, + "clk_mode": -1 + }, + "display": { + "type": 2, + "data": 21, + "clk": 22 + } + }, { "name": "Olimex ESP32-POE", "nrf24": { @@ -53,4 +78,28 @@ To change the device profile, navigate to the "Device Manager" and selected the ] ``` -The json file can contain multiple profiles. Each profile requires a name and different parameters. If one parameter is not set, the default value, as compiled into the firmware is used. The example above shows all the currently supported values. Others may follow. A sample file with a lot of boards can be found [here](pin_mapping.json). This means you can just flash the generic bin file and upload the pin_mapping.json file. Then you select your board and everything works hopyfully as expected. \ No newline at end of file +The json file can contain multiple profiles. Each profile requires a name and different parameters. If one parameter is not set, the default value, as compiled into the firmware is used. The example above shows all the currently supported values. Others may follow. A sample file with a lot of boards can be found [here](pin_mapping.json). This means you can just flash the generic bin file and upload the pin_mapping.json file. Then you select your board and everything works hopyfully as expected. + +## Implemented configuration values + +| Parameter | Data Type | Description | +| ------------- | --------- | ----------- | +| name | string | Unique name of the profile (max 63 characters) | +| nrf24.miso | number | MISO Pin | +| nrf24.mosi | number | MOSI Pin | +| nrf24.clk | number | Clock Pin | +| nrf24.irq | number | Interrupt Pin | +| nrf24.en | number | Enable Pin | +| nrf24.cs | number | Chip Select Pin | +| eth.enabled | boolean | Enable/Disable the ethernet stack | +| eth.phy_addr | number | Unique PHY addr | +| eth.power | number | Power Pin (if available) | +| eth.mdc | number | Serial Management Interface MDC Pin | +| eth.mdio | number | Serial Management Interface MDIO Pin | +| eth.type | number | Possible values:
* 0 = ETH_PHY_LAN8720
* 1 = ETH_PHY_TLK110
* 2 = ETH_PHY_RTL8201
* 3 = ETH_PHY_DP83848
* 4 = ETH_PHY_DM9051
* 5 = ETH_PHY_KSZ8041
* 6 = ETH_PHY_KSZ8081 | +| eth.clk_mode | number | Possible values:
* 0 = ETH_CLOCK_GPIO0_IN
* 1 = ETH_CLOCK_GPIO0_OUT
* 2 = ETH_CLOCK_GPIO16_OUT
* 3 = ETH_CLOCK_GPIO17_OUT | +| display.type | number | Specify type of display. Possible values:
* 0 = None (default)
* 1 = PCD8544
* 2 = SSD1306
* 3 = SH1106 | +| display.data | number | Data Pin (e.g. SDA for i2c displays) required for all displays | +| display.clk | number | Clock Pin (e.g. SCL for i2c displays) required for SSD1306 and SH1106 | +| display.cs | number | Chip Select Pin required for PCD8544 | +| display.reset | number | Reset Pin required for PCD8544, optional for all other displays | \ No newline at end of file diff --git a/docs/pin_mapping.json b/docs/pin_mapping.json index 2d3d3fde..3182f8ea 100644 --- a/docs/pin_mapping.json +++ b/docs/pin_mapping.json @@ -19,6 +19,31 @@ "clk_mode": -1 } }, + { + "name": "Generic NodeMCU 38 pin with SSD1306", + "nrf24": { + "miso": 19, + "mosi": 23, + "clk": 18, + "irq": 16, + "en": 4, + "cs": 5 + }, + "eth": { + "enabled": false, + "phy_addr": -1, + "power": -1, + "mdc": -1, + "mdio": -1, + "type": -1, + "clk_mode": -1 + }, + "display": { + "type": 2, + "data": 21, + "clk": 22 + } + }, { "name": "Olimex ESP32-POE", "nrf24": { @@ -39,6 +64,31 @@ "clk_mode": 3 } }, + { + "name": "Olimex ESP32-POE with SSD1306", + "nrf24": { + "miso": 15, + "mosi": 2, + "clk": 14, + "irq": 13, + "en": 16, + "cs": 5 + }, + "eth": { + "enabled": true, + "phy_addr": 0, + "power": 12, + "mdc": 23, + "mdio": 18, + "type": 0, + "clk_mode": 3 + }, + "display": { + "type": 2, + "data": 33, + "clk": 32 + } + }, { "name": "Olimex ESP32-EVB", "nrf24": {