ShineLAN-X: Growatt-Präfix aus Ordnername entfernt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
retr0
2026-04-20 13:53:57 +02:00
parent e27a47791a
commit 9b61f9780d
41 changed files with 0 additions and 0 deletions
@@ -0,0 +1,29 @@
#pragma once
#include <Arduino.h>
#include "config.h"
// ============================================================
// Bitbang-SPI für ENC28J60 auf PC6/PC7/PC8/PC9
// ENC28J60 verwendet SPI Mode 0 (CPOL=0, CPHA=0)
// ============================================================
static inline void eth_spi_init() {
pinMode(ETH_SCK_PIN, OUTPUT); digitalWrite(ETH_SCK_PIN, LOW);
pinMode(ETH_MOSI_PIN, OUTPUT); digitalWrite(ETH_MOSI_PIN, LOW);
pinMode(ETH_MISO_PIN, INPUT);
pinMode(ETH_CS_PIN, OUTPUT); digitalWrite(ETH_CS_PIN, HIGH);
}
static inline void eth_cs_low() { digitalWrite(ETH_CS_PIN, LOW); }
static inline void eth_cs_high() { digitalWrite(ETH_CS_PIN, HIGH); }
static inline uint8_t eth_spi_transfer(uint8_t out) {
uint8_t in = 0;
for (int8_t i = 7; i >= 0; i--) {
digitalWrite(ETH_MOSI_PIN, (out >> i) & 1);
digitalWrite(ETH_SCK_PIN, HIGH);
in = (in << 1) | digitalRead(ETH_MISO_PIN);
digitalWrite(ETH_SCK_PIN, LOW);
}
return in;
}