mirror of
https://github.com/jomjol/AI-on-the-edge-device.git
synced 2025-12-14 15:36:56 +03:00
Revert "System instable"
This reverts commit cb84074981339d44266a1a999a7567a722af11f4. Cleanup REST API (#1255) * Replaced URIs: - value.html => value - statusflow.html => statusflow - cputemp.html => cputemp - rssi.html => rssi - statusflow.html => statusflow Removed URLs: - wasserzaehler.html * keep legacy API * . * . * . * . * . * . * updated links Remove ErrorMessage Fix various warnings which become fatal with later gcc versons in esp-idf 5.x (#1268) - we cannot use partial initialisation of structs in C++ files (copied from example C files initially it seems) - IRAM_ATTR uses a COUNTER, do not use the attribute on the implementation - provide missing copy implementations for Rgb and Hsv - one no longer can |= on volatile variables; use = | instead - fix project and header includes - avoid redefining BLINK_GPIO - Remove defined but unused variables - Fix printf formats - Add missing case statement (HTTP_EVENT_REDIRECT) - RMT needs to be updated to new interface (CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is on currently; see https://docs.espressif.com/projects/esp-idf/en/release-v5.0/esp32/api-reference/peripherals/rmt.html) - Adjust tcpip_adpater_* to esp_netif_* - Use buffered versions of *ntoa* functions for IPv4 addresses and not a static on the stack (also fixes warnings) - Whatever I missed Correct spelling of "Hostname" (#1270) Correct sdkonfig Increase max handler due to new handlers Revert "Cleanup REST API (#1255)" This reverts commitf3e73ec64a. Revert "Increase max handler due to new handlers" This reverts commitcbd63ad4bd. System instable Revert "Revert "Cleanup REST API (#1255)"" This reverts commit 2793c761413ffb987ab6a75da372e00e9f2f2cbd. Co-Authored-By: Bjoern A. Zeeb <patch@zabbadoz.net>
This commit is contained in:
@@ -89,15 +89,6 @@ Rgb& Rgb::blend( Rgb in ) {
|
||||
return *this;
|
||||
}
|
||||
|
||||
uint8_t IRAM_ATTR Rgb::getGrb( int idx ) {
|
||||
switch ( idx ) {
|
||||
case 0: return g;
|
||||
case 1: return r;
|
||||
case 2: return b;
|
||||
}
|
||||
__builtin_unreachable();
|
||||
}
|
||||
|
||||
Hsv::Hsv( Rgb r ) {
|
||||
int min = std::min( r.r, std::min( r.g, r.b ) );
|
||||
int max = std::max( r.r, std::max( r.g, r.b ) );
|
||||
|
||||
@@ -19,13 +19,21 @@ union Rgb {
|
||||
bool operator==( Rgb in ) const { return in.value == value; }
|
||||
Rgb& blend( Rgb in );
|
||||
void swap( Rgb& o ) { value = o.value; }
|
||||
constexpr Rgb(const Rgb& other) : r(other.r), g(other.g), b(other.b), a(other.a) { }
|
||||
void linearize() {
|
||||
r = channelGamma(r);
|
||||
g = channelGamma(g);
|
||||
b = channelGamma(b);
|
||||
}
|
||||
|
||||
uint8_t IRAM_ATTR getGrb( int idx );
|
||||
uint8_t IRAM_ATTR getGrb( int idx ) {
|
||||
switch ( idx ) {
|
||||
case 0: return g;
|
||||
case 1: return r;
|
||||
case 2: return b;
|
||||
}
|
||||
__builtin_unreachable();
|
||||
}
|
||||
|
||||
void stretchChannels( uint8_t maxR, uint8_t maxG, uint8_t maxB ) {
|
||||
r = stretch( r, maxR );
|
||||
@@ -54,6 +62,7 @@ private:
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
union Hsv {
|
||||
struct __attribute__ ((packed)) {
|
||||
uint8_t h, s, v, a;
|
||||
@@ -66,4 +75,5 @@ union Hsv {
|
||||
Hsv& operator=( Rgb rgb );
|
||||
bool operator==( Hsv in ) const { return in.value == value; }
|
||||
void swap( Hsv& o ) { value = o.value; }
|
||||
constexpr Hsv(const Hsv& other) : h(other.h), s(other.s), v(other.v), a(other.a) { }
|
||||
};
|
||||
|
||||
@@ -16,16 +16,16 @@ void IRAM_ATTR SmartLed::interruptHandler(void*) {
|
||||
if ( RMT.int_st.val & (1 << (24 + channel ) ) ) { // tx_thr_event
|
||||
if ( self )
|
||||
self->copyRmtHalfBlock();
|
||||
RMT.int_clr.val |= 1 << ( 24 + channel );
|
||||
RMT.int_clr.val = RMT.int_clr.val | 1 << ( 24 + channel );
|
||||
} else if ( RMT.int_st.val & ( 1 << (3 * channel ) ) ) { // tx_end
|
||||
if ( self )
|
||||
xSemaphoreGiveFromISR( self->_finishedFlag, nullptr );
|
||||
RMT.int_clr.val |= 1 << ( 3 * channel );
|
||||
RMT.int_clr.val = RMT.int_clr.val | 1 << ( 3 * channel );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void IRAM_ATTR SmartLed::copyRmtHalfBlock() {
|
||||
void SmartLed::copyRmtHalfBlock() {
|
||||
int offset = detail::MAX_PULSES * _halfIdx;
|
||||
_halfIdx = !_halfIdx;
|
||||
int len = 3 - _componentPosition + 3 * ( _count - 1 );
|
||||
|
||||
@@ -56,10 +56,14 @@
|
||||
#include <freertos/semphr.h>
|
||||
#include <soc/dport_reg.h>
|
||||
#include <soc/gpio_sig_map.h>
|
||||
#include <soc/gpio_periph.h>
|
||||
#include <esp32/rom/gpio.h>
|
||||
#include <soc/rmt_struct.h>
|
||||
#include <driver/spi_master.h>
|
||||
#include <driver/rmt.h>
|
||||
}
|
||||
#include <stdio.h>
|
||||
extern rmt_mem_t RMTMEM;
|
||||
#endif
|
||||
|
||||
#include "Color.h"
|
||||
@@ -131,8 +135,7 @@ public:
|
||||
initChannel( _channel );
|
||||
|
||||
RMT.tx_lim_ch[ _channel ].limit = detail::MAX_PULSES;
|
||||
RMT.int_ena.val |= 1 << ( 24 + _channel );
|
||||
RMT.int_ena.val |= 1 << ( 3 * _channel );
|
||||
RMT.int_ena.val = RMT.int_ena.val | (1 << ( 24 + _channel )) | (1 << ( 3 * _channel ));
|
||||
|
||||
_bitToRmt[ 0 ].level0 = 1;
|
||||
_bitToRmt[ 0 ].level1 = 0;
|
||||
|
||||
@@ -108,7 +108,7 @@ void GpioPin::init()
|
||||
gpio_config(&io_conf);
|
||||
|
||||
// if (_interruptType != GPIO_INTR_DISABLE) { // ohne GPIO_PIN_MODE_EXTERNAL_FLASH_WS281X, wenn das genutzt wird, dann soll auch der Handler hier nicht initialisiert werden, da das dann über SmartLED erfolgt.
|
||||
if ((_interruptType != GPIO_INTR_DISABLE) && (_interruptType != GPIO_PIN_MODE_EXTERNAL_FLASH_WS281X)) {
|
||||
if ((_interruptType != GPIO_INTR_DISABLE) && (_mode != GPIO_PIN_MODE_EXTERNAL_FLASH_WS281X)) {
|
||||
//hook isr handler for specific gpio pin
|
||||
ESP_LOGD(TAG_SERVERGPIO, "GpioPin::init add isr handler for GPIO %d", _gpio);
|
||||
gpio_isr_handler_add(_gpio, gpio_isr_handler, (void*)&_gpio);
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
|
||||
#include <esp_http_server.h>
|
||||
#include <map>
|
||||
#include "hal/gpio_ll.h"
|
||||
#include "rom/gpio.h"
|
||||
#include "driver/gpio.h"
|
||||
|
||||
#include "SmartLeds.h"
|
||||
@@ -109,4 +111,4 @@ GpioHandler* gpio_handler_get();
|
||||
|
||||
|
||||
|
||||
#endif //SERVER_GPIO_H
|
||||
#endif //SERVER_GPIO_H
|
||||
|
||||
Reference in New Issue
Block a user