Compare commits
3 Commits
master
...
offset-han
| Author | SHA1 | Date | |
|---|---|---|---|
| c1f38cae1c | |||
| c8a0d2bc1e | |||
| a7b5a91f2e |
15
.env
Normal file
15
.env
Normal file
@ -0,0 +1,15 @@
|
||||
HYPERION_GRABBER_WLED_ADDRESS="192.168.1.177"
|
||||
HYPERION_GRABBER_WLED_PORT="21324"
|
||||
HYPERION_GRABBER_WLED_COLOR_ORDER="BRG"
|
||||
HYPERION_GRABBER_SCALE="8"
|
||||
HYPERION_GRABBER_FRAMESKIP="0"
|
||||
HYPERION_GRABBER_CHANGE_THRESHOLD="100"
|
||||
HYPERION_GRABBER_LEDS_BOTTOM="70"
|
||||
HYPERION_GRABBER_LEDS_RIGHT="20"
|
||||
HYPERION_GRABBER_LEDS_TOP="70"
|
||||
HYPERION_GRABBER_LEDS_LEFT="20"
|
||||
HYPERION_GRABBER_LED_OFFSET="30"
|
||||
HYPERION_GRABBER_LED_CLOCKWISE="false"
|
||||
HYPERION_GRABBER_BLACK_BORDER_THRESHOLD="0.2"
|
||||
HYPERION_GRABBER_SMOOTHING_FACTOR="0.1"
|
||||
|
||||
@ -9,8 +9,7 @@ HyperionProcessor::HyperionProcessor(const LedLayout &layout, const QJsonObject
|
||||
_borderDetector(config.value("blackborderdetector").toObject()),
|
||||
_lastImageSize(0, 0),
|
||||
_colorSmoother(config.value("smoothing").toObject()),
|
||||
_colorAlgorithm(config.value("colorAlgorithm").toString("mean_sqrt")),
|
||||
_offset(config.value("offset").toInt(0)) // Default offset is 0
|
||||
_colorAlgorithm(config.value("colorAlgorithm").toString("mean_sqrt"))
|
||||
{
|
||||
}
|
||||
|
||||
@ -43,17 +42,6 @@ QVector<QColor> HyperionProcessor::process(const QImage &image)
|
||||
// 4. Apply smoothing
|
||||
QVector<QColor> finalColors = _colorSmoother.smooth(calculatedColors);
|
||||
|
||||
// 5. Apply offset if needed
|
||||
if (_offset != 0 && !finalColors.isEmpty()) {
|
||||
QVector<QColor> shiftedColors(finalColors.size());
|
||||
int totalLeds = finalColors.size();
|
||||
|
||||
for (int i = 0; i < totalLeds; ++i) {
|
||||
shiftedColors[i] = finalColors[(i + _offset) % totalLeds];
|
||||
}
|
||||
return shiftedColors;
|
||||
}
|
||||
|
||||
return finalColors;
|
||||
}
|
||||
|
||||
|
||||
@ -29,7 +29,6 @@ private:
|
||||
LedLayout _layout;
|
||||
QJsonObject _config;
|
||||
QString _colorAlgorithm;
|
||||
int _offset;
|
||||
|
||||
BlackBorderDetector _borderDetector;
|
||||
BlackBorder _lastBorder;
|
||||
|
||||
Binary file not shown.
@ -263,6 +263,7 @@
|
||||
/usr/include/linux/types.h \
|
||||
/usr/include/locale.h \
|
||||
/usr/include/pthread.h \
|
||||
/usr/include/qt6/QtCore/QElapsedTimer \
|
||||
/usr/include/qt6/QtCore/QJsonObject \
|
||||
/usr/include/qt6/QtCore/QObject \
|
||||
/usr/include/qt6/QtCore/QVector \
|
||||
@ -305,6 +306,7 @@
|
||||
/usr/include/qt6/QtCore/qdatastream.h \
|
||||
/usr/include/qt6/QtCore/qdatetime.h \
|
||||
/usr/include/qt6/QtCore/qdebug.h \
|
||||
/usr/include/qt6/QtCore/qelapsedtimer.h \
|
||||
/usr/include/qt6/QtCore/qendian.h \
|
||||
/usr/include/qt6/QtCore/qexceptionhandling.h \
|
||||
/usr/include/qt6/QtCore/qflags.h \
|
||||
|
||||
@ -1,150 +0,0 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'hyperionclient.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.9.1)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "../../hyperionclient.h"
|
||||
#include <QtCore/qmetatype.h>
|
||||
|
||||
#include <QtCore/qtmochelpers.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
|
||||
#include <QtCore/qxptype_traits.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'hyperionclient.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 69
|
||||
#error "This file was generated using the moc from 6.9.1. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
#ifndef Q_CONSTINIT
|
||||
#define Q_CONSTINIT
|
||||
#endif
|
||||
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
|
||||
namespace {
|
||||
struct qt_meta_tag_ZN14HyperionClientE_t {};
|
||||
} // unnamed namespace
|
||||
|
||||
template <> constexpr inline auto HyperionClient::qt_create_metaobjectdata<qt_meta_tag_ZN14HyperionClientE_t>()
|
||||
{
|
||||
namespace QMC = QtMocConstants;
|
||||
QtMocHelpers::StringRefStorage qt_stringData {
|
||||
"HyperionClient",
|
||||
"clientConnected",
|
||||
"",
|
||||
"_connected",
|
||||
"_disconnected",
|
||||
"_readyRead",
|
||||
"_socketError",
|
||||
"QAbstractSocket::SocketError",
|
||||
"socketError"
|
||||
};
|
||||
|
||||
QtMocHelpers::UintData qt_methods {
|
||||
// Signal 'clientConnected'
|
||||
QtMocHelpers::SignalData<void()>(1, 2, QMC::AccessPublic, QMetaType::Void),
|
||||
// Slot '_connected'
|
||||
QtMocHelpers::SlotData<void()>(3, 2, QMC::AccessPrivate, QMetaType::Void),
|
||||
// Slot '_disconnected'
|
||||
QtMocHelpers::SlotData<void()>(4, 2, QMC::AccessPrivate, QMetaType::Void),
|
||||
// Slot '_readyRead'
|
||||
QtMocHelpers::SlotData<void()>(5, 2, QMC::AccessPrivate, QMetaType::Void),
|
||||
// Slot '_socketError'
|
||||
QtMocHelpers::SlotData<void(QAbstractSocket::SocketError)>(6, 2, QMC::AccessPrivate, QMetaType::Void, {{
|
||||
{ 0x80000000 | 7, 8 },
|
||||
}}),
|
||||
};
|
||||
QtMocHelpers::UintData qt_properties {
|
||||
};
|
||||
QtMocHelpers::UintData qt_enums {
|
||||
};
|
||||
return QtMocHelpers::metaObjectData<HyperionClient, qt_meta_tag_ZN14HyperionClientE_t>(QMC::MetaObjectFlag{}, qt_stringData,
|
||||
qt_methods, qt_properties, qt_enums);
|
||||
}
|
||||
Q_CONSTINIT const QMetaObject HyperionClient::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN14HyperionClientE_t>.stringdata,
|
||||
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN14HyperionClientE_t>.data,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN14HyperionClientE_t>.metaTypes,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
void HyperionClient::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
auto *_t = static_cast<HyperionClient *>(_o);
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
switch (_id) {
|
||||
case 0: _t->clientConnected(); break;
|
||||
case 1: _t->_connected(); break;
|
||||
case 2: _t->_disconnected(); break;
|
||||
case 3: _t->_readyRead(); break;
|
||||
case 4: _t->_socketError((*reinterpret_cast< std::add_pointer_t<QAbstractSocket::SocketError>>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
switch (_id) {
|
||||
default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
|
||||
case 4:
|
||||
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||
default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
|
||||
case 0:
|
||||
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType::fromType< QAbstractSocket::SocketError >(); break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (_c == QMetaObject::IndexOfMethod) {
|
||||
if (QtMocHelpers::indexOfMethod<void (HyperionClient::*)()>(_a, &HyperionClient::clientConnected, 0))
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
const QMetaObject *HyperionClient::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *HyperionClient::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN14HyperionClientE_t>.strings))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int HyperionClient::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 5)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 5;
|
||||
}
|
||||
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 5)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 5;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void HyperionClient::clientConnected()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
@ -1,412 +0,0 @@
|
||||
/home/tobi/Projects/hyperion/Hyperion_Grabber_X11_QT/Hyperion_Grabber_Wayland_QT_autogen/EWIEGA46WW/moc_hyperionclient.cpp: /home/tobi/Projects/hyperion/Hyperion_Grabber_X11_QT/hyperionclient.h \
|
||||
/home/tobi/Projects/hyperion/Hyperion_Grabber_X11_QT/Hyperion_Grabber_Wayland_QT_autogen/moc_predefs.h \
|
||||
/usr/include/alloca.h \
|
||||
/usr/include/asm-generic/bitsperlong.h \
|
||||
/usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/asm-generic/errno.h \
|
||||
/usr/include/asm-generic/int-ll64.h \
|
||||
/usr/include/asm-generic/posix_types.h \
|
||||
/usr/include/asm-generic/types.h \
|
||||
/usr/include/asm/bitsperlong.h \
|
||||
/usr/include/asm/errno.h \
|
||||
/usr/include/asm/posix_types.h \
|
||||
/usr/include/asm/posix_types_64.h \
|
||||
/usr/include/asm/types.h \
|
||||
/usr/include/assert.h \
|
||||
/usr/include/bits/atomic_wide_counter.h \
|
||||
/usr/include/bits/byteswap.h \
|
||||
/usr/include/bits/cpu-set.h \
|
||||
/usr/include/bits/endian.h \
|
||||
/usr/include/bits/endianness.h \
|
||||
/usr/include/bits/errno.h \
|
||||
/usr/include/bits/floatn-common.h \
|
||||
/usr/include/bits/floatn.h \
|
||||
/usr/include/bits/libc-header-start.h \
|
||||
/usr/include/bits/local_lim.h \
|
||||
/usr/include/bits/locale.h \
|
||||
/usr/include/bits/long-double.h \
|
||||
/usr/include/bits/posix1_lim.h \
|
||||
/usr/include/bits/posix2_lim.h \
|
||||
/usr/include/bits/pthread_stack_min-dynamic.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/pthreadtypes.h \
|
||||
/usr/include/bits/sched.h \
|
||||
/usr/include/bits/select.h \
|
||||
/usr/include/bits/setjmp.h \
|
||||
/usr/include/bits/stdint-intn.h \
|
||||
/usr/include/bits/stdio_lim.h \
|
||||
/usr/include/bits/stdlib-float.h \
|
||||
/usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h \
|
||||
/usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/time.h \
|
||||
/usr/include/bits/time64.h \
|
||||
/usr/include/bits/timesize.h \
|
||||
/usr/include/bits/timex.h \
|
||||
/usr/include/bits/types.h \
|
||||
/usr/include/bits/types/FILE.h \
|
||||
/usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/__fpos64_t.h \
|
||||
/usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__locale_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/clock_t.h \
|
||||
/usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/types/error_t.h \
|
||||
/usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/mbstate_t.h \
|
||||
/usr/include/bits/types/sigset_t.h \
|
||||
/usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/struct___jmp_buf_tag.h \
|
||||
/usr/include/bits/types/struct_itimerspec.h \
|
||||
/usr/include/bits/types/struct_sched_param.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_tm.h \
|
||||
/usr/include/bits/types/time_t.h \
|
||||
/usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/types/wint_t.h \
|
||||
/usr/include/bits/typesizes.h \
|
||||
/usr/include/bits/uintn-identity.h \
|
||||
/usr/include/bits/uio_lim.h \
|
||||
/usr/include/bits/waitflags.h \
|
||||
/usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/wchar.h \
|
||||
/usr/include/bits/wordsize.h \
|
||||
/usr/include/bits/xopen_lim.h \
|
||||
/usr/include/c++/15.1.1/algorithm \
|
||||
/usr/include/c++/15.1.1/array \
|
||||
/usr/include/c++/15.1.1/atomic \
|
||||
/usr/include/c++/15.1.1/backward/auto_ptr.h \
|
||||
/usr/include/c++/15.1.1/backward/binders.h \
|
||||
/usr/include/c++/15.1.1/bit \
|
||||
/usr/include/c++/15.1.1/bits/algorithmfwd.h \
|
||||
/usr/include/c++/15.1.1/bits/align.h \
|
||||
/usr/include/c++/15.1.1/bits/alloc_traits.h \
|
||||
/usr/include/c++/15.1.1/bits/allocated_ptr.h \
|
||||
/usr/include/c++/15.1.1/bits/allocator.h \
|
||||
/usr/include/c++/15.1.1/bits/atomic_base.h \
|
||||
/usr/include/c++/15.1.1/bits/atomic_lockfree_defines.h \
|
||||
/usr/include/c++/15.1.1/bits/basic_string.h \
|
||||
/usr/include/c++/15.1.1/bits/basic_string.tcc \
|
||||
/usr/include/c++/15.1.1/bits/char_traits.h \
|
||||
/usr/include/c++/15.1.1/bits/charconv.h \
|
||||
/usr/include/c++/15.1.1/bits/chrono.h \
|
||||
/usr/include/c++/15.1.1/bits/concept_check.h \
|
||||
/usr/include/c++/15.1.1/bits/cpp_type_traits.h \
|
||||
/usr/include/c++/15.1.1/bits/cxxabi_forced.h \
|
||||
/usr/include/c++/15.1.1/bits/cxxabi_init_exception.h \
|
||||
/usr/include/c++/15.1.1/bits/enable_special_members.h \
|
||||
/usr/include/c++/15.1.1/bits/erase_if.h \
|
||||
/usr/include/c++/15.1.1/bits/exception.h \
|
||||
/usr/include/c++/15.1.1/bits/exception_defines.h \
|
||||
/usr/include/c++/15.1.1/bits/exception_ptr.h \
|
||||
/usr/include/c++/15.1.1/bits/functexcept.h \
|
||||
/usr/include/c++/15.1.1/bits/functional_hash.h \
|
||||
/usr/include/c++/15.1.1/bits/hash_bytes.h \
|
||||
/usr/include/c++/15.1.1/bits/hashtable.h \
|
||||
/usr/include/c++/15.1.1/bits/hashtable_policy.h \
|
||||
/usr/include/c++/15.1.1/bits/invoke.h \
|
||||
/usr/include/c++/15.1.1/bits/ios_base.h \
|
||||
/usr/include/c++/15.1.1/bits/list.tcc \
|
||||
/usr/include/c++/15.1.1/bits/locale_classes.h \
|
||||
/usr/include/c++/15.1.1/bits/locale_classes.tcc \
|
||||
/usr/include/c++/15.1.1/bits/localefwd.h \
|
||||
/usr/include/c++/15.1.1/bits/memory_resource.h \
|
||||
/usr/include/c++/15.1.1/bits/memoryfwd.h \
|
||||
/usr/include/c++/15.1.1/bits/move.h \
|
||||
/usr/include/c++/15.1.1/bits/nested_exception.h \
|
||||
/usr/include/c++/15.1.1/bits/new_allocator.h \
|
||||
/usr/include/c++/15.1.1/bits/node_handle.h \
|
||||
/usr/include/c++/15.1.1/bits/ostream_insert.h \
|
||||
/usr/include/c++/15.1.1/bits/parse_numbers.h \
|
||||
/usr/include/c++/15.1.1/bits/postypes.h \
|
||||
/usr/include/c++/15.1.1/bits/predefined_ops.h \
|
||||
/usr/include/c++/15.1.1/bits/ptr_traits.h \
|
||||
/usr/include/c++/15.1.1/bits/range_access.h \
|
||||
/usr/include/c++/15.1.1/bits/refwrap.h \
|
||||
/usr/include/c++/15.1.1/bits/requires_hosted.h \
|
||||
/usr/include/c++/15.1.1/bits/shared_ptr.h \
|
||||
/usr/include/c++/15.1.1/bits/shared_ptr_atomic.h \
|
||||
/usr/include/c++/15.1.1/bits/shared_ptr_base.h \
|
||||
/usr/include/c++/15.1.1/bits/specfun.h \
|
||||
/usr/include/c++/15.1.1/bits/std_abs.h \
|
||||
/usr/include/c++/15.1.1/bits/std_function.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_algo.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_algobase.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_bvector.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_construct.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_function.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_heap.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_iterator.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_iterator_base_funcs.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_iterator_base_types.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_list.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_map.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_multimap.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_multiset.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_numeric.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_pair.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_raw_storage_iter.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_relops.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_set.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_tempbuf.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_tree.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_uninitialized.h \
|
||||
/usr/include/c++/15.1.1/bits/stl_vector.h \
|
||||
/usr/include/c++/15.1.1/bits/stream_iterator.h \
|
||||
/usr/include/c++/15.1.1/bits/streambuf.tcc \
|
||||
/usr/include/c++/15.1.1/bits/streambuf_iterator.h \
|
||||
/usr/include/c++/15.1.1/bits/string_view.tcc \
|
||||
/usr/include/c++/15.1.1/bits/stringfwd.h \
|
||||
/usr/include/c++/15.1.1/bits/uniform_int_dist.h \
|
||||
/usr/include/c++/15.1.1/bits/unique_ptr.h \
|
||||
/usr/include/c++/15.1.1/bits/unordered_map.h \
|
||||
/usr/include/c++/15.1.1/bits/unordered_set.h \
|
||||
/usr/include/c++/15.1.1/bits/uses_allocator.h \
|
||||
/usr/include/c++/15.1.1/bits/uses_allocator_args.h \
|
||||
/usr/include/c++/15.1.1/bits/utility.h \
|
||||
/usr/include/c++/15.1.1/bits/vector.tcc \
|
||||
/usr/include/c++/15.1.1/bits/version.h \
|
||||
/usr/include/c++/15.1.1/cassert \
|
||||
/usr/include/c++/15.1.1/cctype \
|
||||
/usr/include/c++/15.1.1/cerrno \
|
||||
/usr/include/c++/15.1.1/chrono \
|
||||
/usr/include/c++/15.1.1/climits \
|
||||
/usr/include/c++/15.1.1/clocale \
|
||||
/usr/include/c++/15.1.1/cmath \
|
||||
/usr/include/c++/15.1.1/compare \
|
||||
/usr/include/c++/15.1.1/concepts \
|
||||
/usr/include/c++/15.1.1/cstddef \
|
||||
/usr/include/c++/15.1.1/cstdint \
|
||||
/usr/include/c++/15.1.1/cstdio \
|
||||
/usr/include/c++/15.1.1/cstdlib \
|
||||
/usr/include/c++/15.1.1/cstring \
|
||||
/usr/include/c++/15.1.1/ctime \
|
||||
/usr/include/c++/15.1.1/cwchar \
|
||||
/usr/include/c++/15.1.1/debug/assertions.h \
|
||||
/usr/include/c++/15.1.1/debug/debug.h \
|
||||
/usr/include/c++/15.1.1/exception \
|
||||
/usr/include/c++/15.1.1/ext/aligned_buffer.h \
|
||||
/usr/include/c++/15.1.1/ext/alloc_traits.h \
|
||||
/usr/include/c++/15.1.1/ext/atomicity.h \
|
||||
/usr/include/c++/15.1.1/ext/concurrence.h \
|
||||
/usr/include/c++/15.1.1/ext/numeric_traits.h \
|
||||
/usr/include/c++/15.1.1/ext/string_conversions.h \
|
||||
/usr/include/c++/15.1.1/ext/type_traits.h \
|
||||
/usr/include/c++/15.1.1/functional \
|
||||
/usr/include/c++/15.1.1/initializer_list \
|
||||
/usr/include/c++/15.1.1/iosfwd \
|
||||
/usr/include/c++/15.1.1/iterator \
|
||||
/usr/include/c++/15.1.1/limits \
|
||||
/usr/include/c++/15.1.1/list \
|
||||
/usr/include/c++/15.1.1/map \
|
||||
/usr/include/c++/15.1.1/memory \
|
||||
/usr/include/c++/15.1.1/new \
|
||||
/usr/include/c++/15.1.1/numeric \
|
||||
/usr/include/c++/15.1.1/optional \
|
||||
/usr/include/c++/15.1.1/pstl/execution_defs.h \
|
||||
/usr/include/c++/15.1.1/pstl/glue_numeric_defs.h \
|
||||
/usr/include/c++/15.1.1/ratio \
|
||||
/usr/include/c++/15.1.1/set \
|
||||
/usr/include/c++/15.1.1/stdexcept \
|
||||
/usr/include/c++/15.1.1/streambuf \
|
||||
/usr/include/c++/15.1.1/string \
|
||||
/usr/include/c++/15.1.1/string_view \
|
||||
/usr/include/c++/15.1.1/system_error \
|
||||
/usr/include/c++/15.1.1/tr1/bessel_function.tcc \
|
||||
/usr/include/c++/15.1.1/tr1/beta_function.tcc \
|
||||
/usr/include/c++/15.1.1/tr1/ell_integral.tcc \
|
||||
/usr/include/c++/15.1.1/tr1/exp_integral.tcc \
|
||||
/usr/include/c++/15.1.1/tr1/gamma.tcc \
|
||||
/usr/include/c++/15.1.1/tr1/hypergeometric.tcc \
|
||||
/usr/include/c++/15.1.1/tr1/legendre_function.tcc \
|
||||
/usr/include/c++/15.1.1/tr1/modified_bessel_func.tcc \
|
||||
/usr/include/c++/15.1.1/tr1/poly_hermite.tcc \
|
||||
/usr/include/c++/15.1.1/tr1/poly_laguerre.tcc \
|
||||
/usr/include/c++/15.1.1/tr1/riemann_zeta.tcc \
|
||||
/usr/include/c++/15.1.1/tr1/special_function_util.h \
|
||||
/usr/include/c++/15.1.1/tuple \
|
||||
/usr/include/c++/15.1.1/type_traits \
|
||||
/usr/include/c++/15.1.1/typeinfo \
|
||||
/usr/include/c++/15.1.1/unordered_map \
|
||||
/usr/include/c++/15.1.1/unordered_set \
|
||||
/usr/include/c++/15.1.1/utility \
|
||||
/usr/include/c++/15.1.1/variant \
|
||||
/usr/include/c++/15.1.1/vector \
|
||||
/usr/include/c++/15.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \
|
||||
/usr/include/c++/15.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \
|
||||
/usr/include/c++/15.1.1/x86_64-pc-linux-gnu/bits/c++config.h \
|
||||
/usr/include/c++/15.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \
|
||||
/usr/include/c++/15.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \
|
||||
/usr/include/c++/15.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \
|
||||
/usr/include/c++/15.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \
|
||||
/usr/include/c++/15.1.1/x86_64-pc-linux-gnu/bits/gthr.h \
|
||||
/usr/include/c++/15.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \
|
||||
/usr/include/ctype.h \
|
||||
/usr/include/endian.h \
|
||||
/usr/include/errno.h \
|
||||
/usr/include/features-time64.h \
|
||||
/usr/include/features.h \
|
||||
/usr/include/gnu/stubs-64.h \
|
||||
/usr/include/gnu/stubs.h \
|
||||
/usr/include/limits.h \
|
||||
/usr/include/linux/errno.h \
|
||||
/usr/include/linux/limits.h \
|
||||
/usr/include/linux/posix_types.h \
|
||||
/usr/include/linux/stddef.h \
|
||||
/usr/include/linux/types.h \
|
||||
/usr/include/locale.h \
|
||||
/usr/include/pthread.h \
|
||||
/usr/include/qt6/QtCore/QByteArray \
|
||||
/usr/include/qt6/QtCore/QObject \
|
||||
/usr/include/qt6/QtCore/QTimer \
|
||||
/usr/include/qt6/QtCore/q17memory.h \
|
||||
/usr/include/qt6/QtCore/q20functional.h \
|
||||
/usr/include/qt6/QtCore/q20iterator.h \
|
||||
/usr/include/qt6/QtCore/q20memory.h \
|
||||
/usr/include/qt6/QtCore/q20type_traits.h \
|
||||
/usr/include/qt6/QtCore/q20utility.h \
|
||||
/usr/include/qt6/QtCore/q23utility.h \
|
||||
/usr/include/qt6/QtCore/qabstracteventdispatcher.h \
|
||||
/usr/include/qt6/QtCore/qalgorithms.h \
|
||||
/usr/include/qt6/QtCore/qanystringview.h \
|
||||
/usr/include/qt6/QtCore/qarraydata.h \
|
||||
/usr/include/qt6/QtCore/qarraydataops.h \
|
||||
/usr/include/qt6/QtCore/qarraydatapointer.h \
|
||||
/usr/include/qt6/QtCore/qassert.h \
|
||||
/usr/include/qt6/QtCore/qatomic.h \
|
||||
/usr/include/qt6/QtCore/qatomic_cxx11.h \
|
||||
/usr/include/qt6/QtCore/qbasicatomic.h \
|
||||
/usr/include/qt6/QtCore/qbasictimer.h \
|
||||
/usr/include/qt6/QtCore/qbindingstorage.h \
|
||||
/usr/include/qt6/QtCore/qbytearray.h \
|
||||
/usr/include/qt6/QtCore/qbytearrayalgorithms.h \
|
||||
/usr/include/qt6/QtCore/qbytearraylist.h \
|
||||
/usr/include/qt6/QtCore/qbytearrayview.h \
|
||||
/usr/include/qt6/QtCore/qchar.h \
|
||||
/usr/include/qt6/QtCore/qcompare.h \
|
||||
/usr/include/qt6/QtCore/qcompare_impl.h \
|
||||
/usr/include/qt6/QtCore/qcomparehelpers.h \
|
||||
/usr/include/qt6/QtCore/qcompilerdetection.h \
|
||||
/usr/include/qt6/QtCore/qconfig.h \
|
||||
/usr/include/qt6/QtCore/qconstructormacros.h \
|
||||
/usr/include/qt6/QtCore/qcontainerfwd.h \
|
||||
/usr/include/qt6/QtCore/qcontainerinfo.h \
|
||||
/usr/include/qt6/QtCore/qcontainertools_impl.h \
|
||||
/usr/include/qt6/QtCore/qcontiguouscache.h \
|
||||
/usr/include/qt6/QtCore/qdarwinhelpers.h \
|
||||
/usr/include/qt6/QtCore/qdatastream.h \
|
||||
/usr/include/qt6/QtCore/qdeadlinetimer.h \
|
||||
/usr/include/qt6/QtCore/qdebug.h \
|
||||
/usr/include/qt6/QtCore/qelapsedtimer.h \
|
||||
/usr/include/qt6/QtCore/qeventloop.h \
|
||||
/usr/include/qt6/QtCore/qexceptionhandling.h \
|
||||
/usr/include/qt6/QtCore/qflags.h \
|
||||
/usr/include/qt6/QtCore/qfloat16.h \
|
||||
/usr/include/qt6/QtCore/qforeach.h \
|
||||
/usr/include/qt6/QtCore/qfunctionaltools_impl.h \
|
||||
/usr/include/qt6/QtCore/qfunctionpointer.h \
|
||||
/usr/include/qt6/QtCore/qgenericatomic.h \
|
||||
/usr/include/qt6/QtCore/qglobal.h \
|
||||
/usr/include/qt6/QtCore/qglobalstatic.h \
|
||||
/usr/include/qt6/QtCore/qhash.h \
|
||||
/usr/include/qt6/QtCore/qhashfunctions.h \
|
||||
/usr/include/qt6/QtCore/qiodevice.h \
|
||||
/usr/include/qt6/QtCore/qiodevicebase.h \
|
||||
/usr/include/qt6/QtCore/qiterable.h \
|
||||
/usr/include/qt6/QtCore/qiterator.h \
|
||||
/usr/include/qt6/QtCore/qlatin1stringview.h \
|
||||
/usr/include/qt6/QtCore/qlist.h \
|
||||
/usr/include/qt6/QtCore/qlogging.h \
|
||||
/usr/include/qt6/QtCore/qmalloc.h \
|
||||
/usr/include/qt6/QtCore/qmap.h \
|
||||
/usr/include/qt6/QtCore/qmath.h \
|
||||
/usr/include/qt6/QtCore/qmetacontainer.h \
|
||||
/usr/include/qt6/QtCore/qmetatype.h \
|
||||
/usr/include/qt6/QtCore/qminmax.h \
|
||||
/usr/include/qt6/QtCore/qnamespace.h \
|
||||
/usr/include/qt6/QtCore/qnumeric.h \
|
||||
/usr/include/qt6/QtCore/qobject.h \
|
||||
/usr/include/qt6/QtCore/qobject_impl.h \
|
||||
/usr/include/qt6/QtCore/qobjectdefs.h \
|
||||
/usr/include/qt6/QtCore/qobjectdefs_impl.h \
|
||||
/usr/include/qt6/QtCore/qoverload.h \
|
||||
/usr/include/qt6/QtCore/qpair.h \
|
||||
/usr/include/qt6/QtCore/qprocessordetection.h \
|
||||
/usr/include/qt6/QtCore/qrefcount.h \
|
||||
/usr/include/qt6/QtCore/qscopedpointer.h \
|
||||
/usr/include/qt6/QtCore/qscopeguard.h \
|
||||
/usr/include/qt6/QtCore/qset.h \
|
||||
/usr/include/qt6/QtCore/qshareddata.h \
|
||||
/usr/include/qt6/QtCore/qshareddata_impl.h \
|
||||
/usr/include/qt6/QtCore/qsharedpointer.h \
|
||||
/usr/include/qt6/QtCore/qsharedpointer_impl.h \
|
||||
/usr/include/qt6/QtCore/qspan.h \
|
||||
/usr/include/qt6/QtCore/qstdlibdetection.h \
|
||||
/usr/include/qt6/QtCore/qstring.h \
|
||||
/usr/include/qt6/QtCore/qstringalgorithms.h \
|
||||
/usr/include/qt6/QtCore/qstringbuilder.h \
|
||||
/usr/include/qt6/QtCore/qstringconverter.h \
|
||||
/usr/include/qt6/QtCore/qstringconverter_base.h \
|
||||
/usr/include/qt6/QtCore/qstringfwd.h \
|
||||
/usr/include/qt6/QtCore/qstringlist.h \
|
||||
/usr/include/qt6/QtCore/qstringliteral.h \
|
||||
/usr/include/qt6/QtCore/qstringmatcher.h \
|
||||
/usr/include/qt6/QtCore/qstringtokenizer.h \
|
||||
/usr/include/qt6/QtCore/qstringview.h \
|
||||
/usr/include/qt6/QtCore/qswap.h \
|
||||
/usr/include/qt6/QtCore/qsysinfo.h \
|
||||
/usr/include/qt6/QtCore/qsystemdetection.h \
|
||||
/usr/include/qt6/QtCore/qtaggedpointer.h \
|
||||
/usr/include/qt6/QtCore/qtclasshelpermacros.h \
|
||||
/usr/include/qt6/QtCore/qtconfiginclude.h \
|
||||
/usr/include/qt6/QtCore/qtconfigmacros.h \
|
||||
/usr/include/qt6/QtCore/qtcore-config.h \
|
||||
/usr/include/qt6/QtCore/qtcoreexports.h \
|
||||
/usr/include/qt6/QtCore/qtcoreglobal.h \
|
||||
/usr/include/qt6/QtCore/qtdeprecationdefinitions.h \
|
||||
/usr/include/qt6/QtCore/qtdeprecationmarkers.h \
|
||||
/usr/include/qt6/QtCore/qtenvironmentvariables.h \
|
||||
/usr/include/qt6/QtCore/qtextstream.h \
|
||||
/usr/include/qt6/QtCore/qtformat_impl.h \
|
||||
/usr/include/qt6/QtCore/qtimer.h \
|
||||
/usr/include/qt6/QtCore/qtmetamacros.h \
|
||||
/usr/include/qt6/QtCore/qtnoop.h \
|
||||
/usr/include/qt6/QtCore/qtpreprocessorsupport.h \
|
||||
/usr/include/qt6/QtCore/qtresource.h \
|
||||
/usr/include/qt6/QtCore/qttranslation.h \
|
||||
/usr/include/qt6/QtCore/qttypetraits.h \
|
||||
/usr/include/qt6/QtCore/qtversion.h \
|
||||
/usr/include/qt6/QtCore/qtversionchecks.h \
|
||||
/usr/include/qt6/QtCore/qtypeinfo.h \
|
||||
/usr/include/qt6/QtCore/qtypes.h \
|
||||
/usr/include/qt6/QtCore/qutf8stringview.h \
|
||||
/usr/include/qt6/QtCore/qvariant.h \
|
||||
/usr/include/qt6/QtCore/qvarlengtharray.h \
|
||||
/usr/include/qt6/QtCore/qversiontagging.h \
|
||||
/usr/include/qt6/QtCore/qxptype_traits.h \
|
||||
/usr/include/qt6/QtCore/qyieldcpu.h \
|
||||
/usr/include/qt6/QtNetwork/QTcpSocket \
|
||||
/usr/include/qt6/QtNetwork/qabstractsocket.h \
|
||||
/usr/include/qt6/QtNetwork/qhostaddress.h \
|
||||
/usr/include/qt6/QtNetwork/qtcpsocket.h \
|
||||
/usr/include/qt6/QtNetwork/qtnetwork-config.h \
|
||||
/usr/include/qt6/QtNetwork/qtnetworkexports.h \
|
||||
/usr/include/qt6/QtNetwork/qtnetworkglobal.h \
|
||||
/usr/include/sched.h \
|
||||
/usr/include/stdc-predef.h \
|
||||
/usr/include/stdio.h \
|
||||
/usr/include/stdlib.h \
|
||||
/usr/include/string.h \
|
||||
/usr/include/strings.h \
|
||||
/usr/include/sys/cdefs.h \
|
||||
/usr/include/sys/select.h \
|
||||
/usr/include/sys/types.h \
|
||||
/usr/include/time.h \
|
||||
/usr/include/wchar.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/15.1.1/include/stdarg.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/15.1.1/include/stdbool.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/15.1.1/include/stddef.h
|
||||
@ -284,6 +284,7 @@ Hyperion_Grabber_Wayland_QT_autogen/timestamp: \
|
||||
/usr/include/locale.h \
|
||||
/usr/include/pthread.h \
|
||||
/usr/include/qt6/QtCore/QDebug \
|
||||
/usr/include/qt6/QtCore/QElapsedTimer \
|
||||
/usr/include/qt6/QtCore/QEvent \
|
||||
/usr/include/qt6/QtCore/QFlags \
|
||||
/usr/include/qt6/QtCore/QIODevice \
|
||||
|
||||
@ -223,7 +223,7 @@
|
||||
#define __DEC_EVAL_METHOD__ 2
|
||||
#define __FLT_MANT_DIG__ 24
|
||||
#define __LDBL_DECIMAL_DIG__ 21
|
||||
#define __VERSION__ "15.1.1 20250729"
|
||||
#define __VERSION__ "15.2.1 20250813"
|
||||
#define __UINT64_C(c) c ## UL
|
||||
#define __cpp_unicode_characters 201411L
|
||||
#define __DEC64X_MIN__ 1E-6143D64x
|
||||
@ -448,7 +448,7 @@
|
||||
#define __GLIBCXX_BITSIZE_INT_N_0 128
|
||||
#define __FLT32X_HAS_QUIET_NAN__ 1
|
||||
#define __ATOMIC_CONSUME 1
|
||||
#define __GNUC_MINOR__ 1
|
||||
#define __GNUC_MINOR__ 2
|
||||
#define __GLIBCXX_TYPE_INT_N_0 __int128
|
||||
#define __UINTMAX_MAX__ 0xffffffffffffffffUL
|
||||
#define __PIE__ 2
|
||||
|
||||
@ -51,6 +51,10 @@ export HYPERION_GRABBER_LEDS_RIGHT="20"
|
||||
export HYPERION_GRABBER_LEDS_TOP="70"
|
||||
# Number of LEDs on the left edge of your display (e.g., 20)
|
||||
export HYPERION_GRABBER_LEDS_LEFT="20"
|
||||
# Shift the starting position of the LEDs (e.g., 10) (default: 0)
|
||||
export HYPERION_GRABBER_LED_OFFSET="0"
|
||||
# Direction of the LED strip (e.g., true for clockwise, false for counter-clockwise) (default: false)
|
||||
export HYPERION_GRABBER_LED_CLOCKWISE="false"
|
||||
|
||||
# --- Hyperion Algorithm Settings ---
|
||||
# Black border detection threshold (0.0 to 1.0). Higher values are more aggressive.
|
||||
|
||||
@ -924,25 +924,100 @@ hyperion-mock_autogen/timestamp: \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \
|
||||
/usr/share/cmake/Modules/CMakeCCompiler.cmake.in \
|
||||
/usr/share/cmake/Modules/CMakeCCompilerABI.c \
|
||||
/usr/share/cmake/Modules/CMakeCInformation.cmake \
|
||||
/usr/share/cmake/Modules/CMakeCXXCompiler.cmake.in \
|
||||
/usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp \
|
||||
/usr/share/cmake/Modules/CMakeCXXInformation.cmake \
|
||||
/usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake \
|
||||
/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake \
|
||||
/usr/share/cmake/Modules/CMakeCompilerIdDetection.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCompilerSupport.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineSystem.cmake \
|
||||
/usr/share/cmake/Modules/CMakeFindBinUtils.cmake \
|
||||
/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake \
|
||||
/usr/share/cmake/Modules/CMakeGenericSystem.cmake \
|
||||
/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake \
|
||||
/usr/share/cmake/Modules/CMakeLanguageInformation.cmake \
|
||||
/usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake \
|
||||
/usr/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake \
|
||||
/usr/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake \
|
||||
/usr/share/cmake/Modules/CMakeSystem.cmake.in \
|
||||
/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake \
|
||||
/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake \
|
||||
/usr/share/cmake/Modules/CMakeTestCCompiler.cmake \
|
||||
/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake \
|
||||
/usr/share/cmake/Modules/CMakeTestCompilerCommon.cmake \
|
||||
/usr/share/cmake/Modules/CMakeUnixFindMake.cmake \
|
||||
/usr/share/cmake/Modules/CheckCSourceCompiles.cmake \
|
||||
/usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake \
|
||||
/usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake \
|
||||
/usr/share/cmake/Modules/CheckIncludeFile.cmake \
|
||||
/usr/share/cmake/Modules/CheckLibraryExists.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/ADSP-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Bruce-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Compaq-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU-C.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/HP-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/HP-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/LCC-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/SDCC-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/SunPro-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/TIClang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/XL-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/XL-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/XLClang-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/zOS-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/FeatureSummary.cmake \
|
||||
/usr/share/cmake/Modules/FindOpenGL.cmake \
|
||||
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake \
|
||||
@ -954,9 +1029,13 @@ hyperion-mock_autogen/timestamp: \
|
||||
/usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CMakeInspectCLinker.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CMakeInspectCXXLinker.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake \
|
||||
/usr/share/cmake/Modules/Internal/FeatureTesting.cmake \
|
||||
/usr/share/cmake/Modules/Linker/GNU-C.cmake \
|
||||
/usr/share/cmake/Modules/Linker/GNU-CXX.cmake \
|
||||
/usr/share/cmake/Modules/Linker/GNU.cmake \
|
||||
@ -965,6 +1044,7 @@ hyperion-mock_autogen/timestamp: \
|
||||
/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linux-Determine-CXX.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linux-GNU.cmake \
|
||||
|
||||
@ -219,7 +219,7 @@
|
||||
#define __DEC_EVAL_METHOD__ 2
|
||||
#define __FLT_MANT_DIG__ 24
|
||||
#define __LDBL_DECIMAL_DIG__ 21
|
||||
#define __VERSION__ "15.1.1 20250729"
|
||||
#define __VERSION__ "15.2.1 20250813"
|
||||
#define __UINT64_C(c) c ## UL
|
||||
#define __cpp_unicode_characters 201411L
|
||||
#define __DEC64X_MIN__ 1E-6143D64x
|
||||
@ -443,7 +443,7 @@
|
||||
#define __GLIBCXX_BITSIZE_INT_N_0 128
|
||||
#define __FLT32X_HAS_QUIET_NAN__ 1
|
||||
#define __ATOMIC_CONSUME 1
|
||||
#define __GNUC_MINOR__ 1
|
||||
#define __GNUC_MINOR__ 2
|
||||
#define __GLIBCXX_TYPE_INT_N_0 __int128
|
||||
#define __UINTMAX_MAX__ 0xffffffffffffffffUL
|
||||
#define __PIE__ 2
|
||||
|
||||
@ -84,4 +84,10 @@ This document captures key insights, challenges, and solutions encountered durin
|
||||
* **Solution:** Increased the `processTimer` frequency in `main.cpp` from 1000 ms to 33 ms, aiming for approximately 30 frames per second. This significantly improved the update rate of LED colors sent to the WLED device.
|
||||
* **Lesson:** For real-time LED control applications, a sufficiently high and consistent frame rate is crucial for preventing flickering and ensuring smooth visual transitions.
|
||||
|
||||
## 13. Configurable LED Layout (Offset and Direction)
|
||||
|
||||
* **Challenge:** The initial LED layout was hardcoded to start at the bottom-left corner and run counter-clockwise. This is not flexible enough for all hardware setups.
|
||||
* **Solution:** Implement configurable options for the LED layout, including an offset to shift the starting position and a flag to control the direction (clockwise or counter-clockwise).
|
||||
* **Lesson:** Hardware configurations can vary greatly. Providing flexible configuration options for physical layouts is crucial for a good user experience.
|
||||
|
||||
[Commit: 6695ca9] - feat: Increase HyperionGrabber frame rate to 30 FPS
|
||||
2
main.cpp
2
main.cpp
@ -188,7 +188,7 @@ int main(int argc, char *argv[])
|
||||
// Instantiate components
|
||||
grabber = new HyperionGrabber(grabberOpts);
|
||||
processor = new HyperionProcessor(layout, processorConfig);
|
||||
wledClient = new WledClient(wledAddress, wledPort, wledColorOrder);
|
||||
wledClient = new WledClient(wledAddress, wledPort, wledColorOrder, processorConfig["offset"].toInt(), processorConfig["clockwise"].toBool());
|
||||
|
||||
// Connect grabber to image receiver slot
|
||||
QObject::connect(grabber, &HyperionGrabber::imageReady, &onImageReady);
|
||||
|
||||
2163
output.log
2163
output.log
File diff suppressed because it is too large
Load Diff
@ -474,25 +474,100 @@ screen_capture_test_autogen/timestamp: \
|
||||
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets-relwithdebinfo.cmake \
|
||||
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets.cmake \
|
||||
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsVersionlessTargets.cmake \
|
||||
/usr/share/cmake/Modules/CMakeCCompiler.cmake.in \
|
||||
/usr/share/cmake/Modules/CMakeCCompilerABI.c \
|
||||
/usr/share/cmake/Modules/CMakeCInformation.cmake \
|
||||
/usr/share/cmake/Modules/CMakeCXXCompiler.cmake.in \
|
||||
/usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp \
|
||||
/usr/share/cmake/Modules/CMakeCXXInformation.cmake \
|
||||
/usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake \
|
||||
/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake \
|
||||
/usr/share/cmake/Modules/CMakeCompilerIdDetection.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineCompilerSupport.cmake \
|
||||
/usr/share/cmake/Modules/CMakeDetermineSystem.cmake \
|
||||
/usr/share/cmake/Modules/CMakeFindBinUtils.cmake \
|
||||
/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake \
|
||||
/usr/share/cmake/Modules/CMakeGenericSystem.cmake \
|
||||
/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake \
|
||||
/usr/share/cmake/Modules/CMakeLanguageInformation.cmake \
|
||||
/usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake \
|
||||
/usr/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake \
|
||||
/usr/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake \
|
||||
/usr/share/cmake/Modules/CMakeSystem.cmake.in \
|
||||
/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake \
|
||||
/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake \
|
||||
/usr/share/cmake/Modules/CMakeTestCCompiler.cmake \
|
||||
/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake \
|
||||
/usr/share/cmake/Modules/CMakeTestCompilerCommon.cmake \
|
||||
/usr/share/cmake/Modules/CMakeUnixFindMake.cmake \
|
||||
/usr/share/cmake/Modules/CheckCSourceCompiles.cmake \
|
||||
/usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake \
|
||||
/usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake \
|
||||
/usr/share/cmake/Modules/CheckIncludeFile.cmake \
|
||||
/usr/share/cmake/Modules/CheckLibraryExists.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/ADSP-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Bruce-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Compaq-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU-C.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/GNU.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/HP-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/HP-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/LCC-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/SDCC-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/SunPro-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/TIClang-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/XL-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/XL-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/XLClang-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/zOS-C-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake \
|
||||
/usr/share/cmake/Modules/FeatureSummary.cmake \
|
||||
/usr/share/cmake/Modules/FindOpenGL.cmake \
|
||||
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake \
|
||||
@ -504,9 +579,13 @@ screen_capture_test_autogen/timestamp: \
|
||||
/usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CMakeInspectCLinker.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CMakeInspectCXXLinker.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake \
|
||||
/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake \
|
||||
/usr/share/cmake/Modules/Internal/FeatureTesting.cmake \
|
||||
/usr/share/cmake/Modules/Linker/GNU-C.cmake \
|
||||
/usr/share/cmake/Modules/Linker/GNU-CXX.cmake \
|
||||
/usr/share/cmake/Modules/Linker/GNU.cmake \
|
||||
@ -515,6 +594,7 @@ screen_capture_test_autogen/timestamp: \
|
||||
/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linux-Determine-CXX.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake \
|
||||
/usr/share/cmake/Modules/Platform/Linux-GNU.cmake \
|
||||
|
||||
@ -12,14 +12,16 @@ const quint8 DDP_PROTOCOL_DNRGB = 4;
|
||||
// 4 bytes for DDP header, so 504 bytes for LED data
|
||||
const int MAX_LED_DATA_PER_PACKET = 504; // 504 bytes / 3 bytes per LED = 168 LEDs
|
||||
|
||||
WledClient::WledClient(QString host, ushort port, QString colorOrder, QObject *parent) :
|
||||
WledClient::WledClient(QString host, ushort port, QString colorOrder, int offset, bool clockwise, QObject *parent) :
|
||||
QObject(parent),
|
||||
_wledHost(host),
|
||||
_wledPort(port),
|
||||
_colorOrder(colorOrder)
|
||||
_colorOrder(colorOrder),
|
||||
_offset(offset),
|
||||
_clockwise(clockwise)
|
||||
{
|
||||
_udpSocket = new QUdpSocket(this);
|
||||
qDebug() << "WledClient initialized for host:" << _wledHost.toString() << "port:" << _wledPort << "color order:" << _colorOrder;
|
||||
qDebug() << "WledClient initialized for host:" << _wledHost.toString() << "port:" << _wledPort << "color order:" << _colorOrder << "offset:" << _offset << "clockwise:" << _clockwise;
|
||||
}
|
||||
|
||||
WledClient::~WledClient()
|
||||
@ -84,7 +86,10 @@ void WledClient::sendImage(const QImage &image)
|
||||
int y = pixelIndex / rgbImage.width();
|
||||
|
||||
QRgb pixel = rgbImage.pixel(x, y);
|
||||
appendColor(datagram, QColor(pixel));
|
||||
// Swap R and G for GRB order
|
||||
datagram.append(qRed(pixel));
|
||||
datagram.append(qGreen(pixel));
|
||||
datagram.append(qBlue(pixel));
|
||||
}
|
||||
|
||||
qint64 bytesSent = _udpSocket->writeDatagram(datagram, _wledHost, _wledPort);
|
||||
@ -104,6 +109,26 @@ void WledClient::setLedsColor(const QVector<QColor> &colors, int timeout)
|
||||
}
|
||||
|
||||
int totalLeds = colors.size();
|
||||
QVector<QColor> processedColors(totalLeds);
|
||||
|
||||
// Apply clockwise reversal if needed
|
||||
if (_clockwise) {
|
||||
for (int i = 0; i < totalLeds; ++i) {
|
||||
processedColors[i] = colors[totalLeds - 1 - i];
|
||||
}
|
||||
} else {
|
||||
processedColors = colors;
|
||||
}
|
||||
|
||||
// Apply offset
|
||||
if (_offset != 0) {
|
||||
QVector<QColor> shiftedColors(totalLeds);
|
||||
for (int i = 0; i < totalLeds; ++i) {
|
||||
shiftedColors[(i + _offset) % totalLeds] = processedColors[i];
|
||||
}
|
||||
processedColors = shiftedColors;
|
||||
}
|
||||
|
||||
int ledsPerPacket = MAX_LED_DATA_PER_PACKET / 3; // 3 bytes per LED (RGB)
|
||||
|
||||
qDebug() << "WledClient: setLedsColor - totalLeds:" << totalLeds << "ledsPerPacket:" << ledsPerPacket;
|
||||
@ -127,7 +152,7 @@ void WledClient::setLedsColor(const QVector<QColor> &colors, int timeout)
|
||||
qDebug() << "WledClient: Sending packet (setLedsColor) - i:" << i << "startIndex:" << startIndex << "currentLedsInPacket:" << currentLedsInPacket;
|
||||
|
||||
for (int j = 0; j < currentLedsInPacket; ++j) {
|
||||
const QColor &color = colors.at(i + j);
|
||||
const QColor &color = processedColors.at(i + j);
|
||||
appendColor(datagram, color);
|
||||
}
|
||||
|
||||
@ -170,7 +195,10 @@ void WledClient::flashLeds(int startIndex, int count, QColor color)
|
||||
int currentLedsInPacket = qMin(ledsPerPacket, count - i);
|
||||
|
||||
for (int j = 0; j < currentLedsInPacket; ++j) {
|
||||
appendColor(datagram, color);
|
||||
// Swap R and G for GRB order
|
||||
datagram.append(color.red());
|
||||
datagram.append(color.green());
|
||||
datagram.append(color.blue());
|
||||
}
|
||||
|
||||
qDebug() << "WledClient: Sending flashLeds datagram (hex):" << datagram.toHex();
|
||||
|
||||
@ -11,7 +11,7 @@ class WledClient : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit WledClient(QString host, ushort port, QString colorOrder = "GRB", QObject *parent = nullptr);
|
||||
explicit WledClient(QString host, ushort port, QString colorOrder = "GRB", int offset = 0, bool clockwise = false, QObject *parent = nullptr);
|
||||
~WledClient();
|
||||
|
||||
void sendImage(const QImage &image);
|
||||
@ -20,11 +20,12 @@ public:
|
||||
|
||||
private:
|
||||
void appendColor(QByteArray &datagram, const QColor &color);
|
||||
|
||||
QUdpSocket *_udpSocket;
|
||||
QHostAddress _wledHost;
|
||||
ushort _wledPort;
|
||||
QString _colorOrder;
|
||||
int _offset;
|
||||
bool _clockwise;
|
||||
|
||||
signals:
|
||||
void error(QString message);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user