mirror of
https://github.com/wled/WLED.git
synced 2025-07-10 12:26:31 +00:00
Replace unsigned with size_t
This commit is contained in:
parent
5b7bab6752
commit
1db3359b84
@ -384,13 +384,13 @@ uint32_t IRAM_ATTR BusDigital::getPixelColor(unsigned pix) const {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned BusDigital::getPins(uint8_t* pinArray) const {
|
size_t BusDigital::getPins(uint8_t* pinArray) const {
|
||||||
unsigned numPins = is2Pin(_type) + 1;
|
unsigned numPins = is2Pin(_type) + 1;
|
||||||
if (pinArray) for (unsigned i = 0; i < numPins; i++) pinArray[i] = _pins[i];
|
if (pinArray) for (unsigned i = 0; i < numPins; i++) pinArray[i] = _pins[i];
|
||||||
return numPins;
|
return numPins;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned BusDigital::getBusSize() const {
|
size_t BusDigital::getBusSize() const {
|
||||||
return sizeof(BusDigital) + (isOk() ? PolyBus::getDataSize(_busPtr, _iType) + (_data ? _len * getNumberOfChannels() : 0) : 0);
|
return sizeof(BusDigital) + (isOk() ? PolyBus::getDataSize(_busPtr, _iType) + (_data ? _len * getNumberOfChannels() : 0) : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -573,7 +573,7 @@ uint32_t BusPwm::getPixelColor(unsigned pix) const {
|
|||||||
|
|
||||||
void BusPwm::show() {
|
void BusPwm::show() {
|
||||||
if (!_valid) return;
|
if (!_valid) return;
|
||||||
const unsigned numPins = getPins();
|
const size_t numPins = getPins();
|
||||||
#ifdef ESP8266
|
#ifdef ESP8266
|
||||||
const unsigned analogPeriod = F_CPU / _frequency;
|
const unsigned analogPeriod = F_CPU / _frequency;
|
||||||
const unsigned maxBri = analogPeriod; // compute to clock cycle accuracy
|
const unsigned maxBri = analogPeriod; // compute to clock cycle accuracy
|
||||||
@ -640,7 +640,7 @@ void BusPwm::show() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned BusPwm::getPins(uint8_t* pinArray) const {
|
size_t BusPwm::getPins(uint8_t* pinArray) const {
|
||||||
if (!_valid) return 0;
|
if (!_valid) return 0;
|
||||||
unsigned numPins = numPWMPins(_type);
|
unsigned numPins = numPWMPins(_type);
|
||||||
if (pinArray) for (unsigned i = 0; i < numPins; i++) pinArray[i] = _pins[i];
|
if (pinArray) for (unsigned i = 0; i < numPins; i++) pinArray[i] = _pins[i];
|
||||||
@ -660,7 +660,7 @@ std::vector<LEDType> BusPwm::getLEDTypes() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void BusPwm::deallocatePins() {
|
void BusPwm::deallocatePins() {
|
||||||
unsigned numPins = getPins();
|
size_t numPins = getPins();
|
||||||
for (unsigned i = 0; i < numPins; i++) {
|
for (unsigned i = 0; i < numPins; i++) {
|
||||||
PinManager::deallocatePin(_pins[i], PinOwner::BusPwm);
|
PinManager::deallocatePin(_pins[i], PinOwner::BusPwm);
|
||||||
if (!PinManager::isPinOk(_pins[i])) continue;
|
if (!PinManager::isPinOk(_pins[i])) continue;
|
||||||
@ -716,7 +716,7 @@ void BusOnOff::show() {
|
|||||||
digitalWrite(_pin, _reversed ? !(bool)_data[0] : (bool)_data[0]);
|
digitalWrite(_pin, _reversed ? !(bool)_data[0] : (bool)_data[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned BusOnOff::getPins(uint8_t* pinArray) const {
|
size_t BusOnOff::getPins(uint8_t* pinArray) const {
|
||||||
if (!_valid) return 0;
|
if (!_valid) return 0;
|
||||||
if (pinArray) pinArray[0] = _pin;
|
if (pinArray) pinArray[0] = _pin;
|
||||||
return 1;
|
return 1;
|
||||||
@ -780,7 +780,7 @@ void BusNetwork::show() {
|
|||||||
_broadcastLock = false;
|
_broadcastLock = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned BusNetwork::getPins(uint8_t* pinArray) const {
|
size_t BusNetwork::getPins(uint8_t* pinArray) const {
|
||||||
if (pinArray) for (unsigned i = 0; i < 4; i++) pinArray[i] = _client[i];
|
if (pinArray) for (unsigned i = 0; i < 4; i++) pinArray[i] = _client[i];
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
@ -808,7 +808,7 @@ void BusNetwork::cleanup() {
|
|||||||
|
|
||||||
|
|
||||||
//utility to get the approx. memory usage of a given BusConfig
|
//utility to get the approx. memory usage of a given BusConfig
|
||||||
unsigned BusConfig::memUsage(unsigned nr) const {
|
size_t BusConfig::memUsage(unsigned nr) const {
|
||||||
if (Bus::isVirtual(type)) {
|
if (Bus::isVirtual(type)) {
|
||||||
return sizeof(BusNetwork) + (count * Bus::getNumberOfChannels(type));
|
return sizeof(BusNetwork) + (count * Bus::getNumberOfChannels(type));
|
||||||
} else if (Bus::isDigital(type)) {
|
} else if (Bus::isDigital(type)) {
|
||||||
@ -821,7 +821,7 @@ unsigned BusConfig::memUsage(unsigned nr) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
unsigned BusManager::memUsage() {
|
size_t BusManager::memUsage() {
|
||||||
// when ESP32, S2 & S3 use parallel I2S only the largest bus determines the total memory requirements for back buffers
|
// when ESP32, S2 & S3 use parallel I2S only the largest bus determines the total memory requirements for back buffers
|
||||||
// front buffers are always allocated per bus
|
// front buffers are always allocated per bus
|
||||||
unsigned size = 0;
|
unsigned size = 0;
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
#include "pin_manager.h"
|
#include "pin_manager.h"
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <bits/unique_ptr.h>
|
|
||||||
|
|
||||||
#if __cplusplus >= 201402L
|
#if __cplusplus >= 201402L
|
||||||
using std::make_unique;
|
using std::make_unique;
|
||||||
@ -103,7 +102,7 @@ class Bus {
|
|||||||
virtual void setBrightness(uint8_t b) { _bri = b; };
|
virtual void setBrightness(uint8_t b) { _bri = b; };
|
||||||
virtual void setColorOrder(uint8_t co) {}
|
virtual void setColorOrder(uint8_t co) {}
|
||||||
virtual uint32_t getPixelColor(unsigned pix) const { return 0; }
|
virtual uint32_t getPixelColor(unsigned pix) const { return 0; }
|
||||||
virtual unsigned getPins(uint8_t* pinArray = nullptr) const { return 0; }
|
virtual size_t getPins(uint8_t* pinArray = nullptr) const { return 0; }
|
||||||
virtual uint16_t getLength() const { return isOk() ? _len : 0; }
|
virtual uint16_t getLength() const { return isOk() ? _len : 0; }
|
||||||
virtual uint8_t getColorOrder() const { return COL_ORDER_RGB; }
|
virtual uint8_t getColorOrder() const { return COL_ORDER_RGB; }
|
||||||
virtual unsigned skippedLeds() const { return 0; }
|
virtual unsigned skippedLeds() const { return 0; }
|
||||||
@ -111,7 +110,7 @@ class Bus {
|
|||||||
virtual uint16_t getLEDCurrent() const { return 0; }
|
virtual uint16_t getLEDCurrent() const { return 0; }
|
||||||
virtual uint16_t getUsedCurrent() const { return 0; }
|
virtual uint16_t getUsedCurrent() const { return 0; }
|
||||||
virtual uint16_t getMaxCurrent() const { return 0; }
|
virtual uint16_t getMaxCurrent() const { return 0; }
|
||||||
virtual unsigned getBusSize() const { return sizeof(Bus); }
|
virtual size_t getBusSize() const { return sizeof(Bus); }
|
||||||
|
|
||||||
inline bool hasRGB() const { return _hasRgb; }
|
inline bool hasRGB() const { return _hasRgb; }
|
||||||
inline bool hasWhite() const { return _hasWhite; }
|
inline bool hasWhite() const { return _hasWhite; }
|
||||||
@ -127,7 +126,7 @@ class Bus {
|
|||||||
inline void setStart(uint16_t start) { _start = start; }
|
inline void setStart(uint16_t start) { _start = start; }
|
||||||
inline void setAutoWhiteMode(uint8_t m) { if (m < 5) _autoWhiteMode = m; }
|
inline void setAutoWhiteMode(uint8_t m) { if (m < 5) _autoWhiteMode = m; }
|
||||||
inline uint8_t getAutoWhiteMode() const { return _autoWhiteMode; }
|
inline uint8_t getAutoWhiteMode() const { return _autoWhiteMode; }
|
||||||
inline unsigned getNumberOfChannels() const { return hasWhite() + 3*hasRGB() + hasCCT(); }
|
inline size_t getNumberOfChannels() const { return hasWhite() + 3*hasRGB() + hasCCT(); }
|
||||||
inline uint16_t getStart() const { return _start; }
|
inline uint16_t getStart() const { return _start; }
|
||||||
inline uint8_t getType() const { return _type; }
|
inline uint8_t getType() const { return _type; }
|
||||||
inline bool isOk() const { return _valid; }
|
inline bool isOk() const { return _valid; }
|
||||||
@ -136,8 +135,8 @@ class Bus {
|
|||||||
inline bool containsPixel(uint16_t pix) const { return pix >= _start && pix < _start + _len; }
|
inline bool containsPixel(uint16_t pix) const { return pix >= _start && pix < _start + _len; }
|
||||||
|
|
||||||
static inline std::vector<LEDType> getLEDTypes() { return {{TYPE_NONE, "", PSTR("None")}}; } // not used. just for reference for derived classes
|
static inline std::vector<LEDType> getLEDTypes() { return {{TYPE_NONE, "", PSTR("None")}}; } // not used. just for reference for derived classes
|
||||||
static constexpr unsigned getNumberOfPins(uint8_t type) { return isVirtual(type) ? 4 : isPWM(type) ? numPWMPins(type) : is2Pin(type) + 1; } // credit @PaoloTK
|
static constexpr size_t getNumberOfPins(uint8_t type) { return isVirtual(type) ? 4 : isPWM(type) ? numPWMPins(type) : is2Pin(type) + 1; } // credit @PaoloTK
|
||||||
static constexpr unsigned getNumberOfChannels(uint8_t type) { return hasWhite(type) + 3*hasRGB(type) + hasCCT(type); }
|
static constexpr size_t getNumberOfChannels(uint8_t type) { return hasWhite(type) + 3*hasRGB(type) + hasCCT(type); }
|
||||||
static constexpr bool hasRGB(uint8_t type) {
|
static constexpr bool hasRGB(uint8_t type) {
|
||||||
return !((type >= TYPE_WS2812_1CH && type <= TYPE_WS2812_WWA) || type == TYPE_ANALOG_1CH || type == TYPE_ANALOG_2CH || type == TYPE_ONOFF);
|
return !((type >= TYPE_WS2812_1CH && type <= TYPE_WS2812_WWA) || type == TYPE_ANALOG_1CH || type == TYPE_ANALOG_2CH || type == TYPE_ONOFF);
|
||||||
}
|
}
|
||||||
@ -225,13 +224,13 @@ class BusDigital : public Bus {
|
|||||||
void setColorOrder(uint8_t colorOrder) override;
|
void setColorOrder(uint8_t colorOrder) override;
|
||||||
[[gnu::hot]] uint32_t getPixelColor(unsigned pix) const override;
|
[[gnu::hot]] uint32_t getPixelColor(unsigned pix) const override;
|
||||||
uint8_t getColorOrder() const override { return _colorOrder; }
|
uint8_t getColorOrder() const override { return _colorOrder; }
|
||||||
unsigned getPins(uint8_t* pinArray = nullptr) const override;
|
size_t getPins(uint8_t* pinArray = nullptr) const override;
|
||||||
unsigned skippedLeds() const override { return _skip; }
|
unsigned skippedLeds() const override { return _skip; }
|
||||||
uint16_t getFrequency() const override { return _frequencykHz; }
|
uint16_t getFrequency() const override { return _frequencykHz; }
|
||||||
uint16_t getLEDCurrent() const override { return _milliAmpsPerLed; }
|
uint16_t getLEDCurrent() const override { return _milliAmpsPerLed; }
|
||||||
uint16_t getUsedCurrent() const override { return _milliAmpsTotal; }
|
uint16_t getUsedCurrent() const override { return _milliAmpsTotal; }
|
||||||
uint16_t getMaxCurrent() const override { return _milliAmpsMax; }
|
uint16_t getMaxCurrent() const override { return _milliAmpsMax; }
|
||||||
unsigned getBusSize() const override;
|
size_t getBusSize() const override;
|
||||||
void begin() override;
|
void begin() override;
|
||||||
void cleanup();
|
void cleanup();
|
||||||
|
|
||||||
@ -271,9 +270,9 @@ class BusPwm : public Bus {
|
|||||||
|
|
||||||
void setPixelColor(unsigned pix, uint32_t c) override;
|
void setPixelColor(unsigned pix, uint32_t c) override;
|
||||||
uint32_t getPixelColor(unsigned pix) const override; //does no index check
|
uint32_t getPixelColor(unsigned pix) const override; //does no index check
|
||||||
unsigned getPins(uint8_t* pinArray = nullptr) const override;
|
size_t getPins(uint8_t* pinArray = nullptr) const override;
|
||||||
uint16_t getFrequency() const override { return _frequency; }
|
uint16_t getFrequency() const override { return _frequency; }
|
||||||
unsigned getBusSize() const override { return sizeof(BusPwm); }
|
size_t getBusSize() const override { return sizeof(BusPwm); }
|
||||||
void show() override;
|
void show() override;
|
||||||
inline void cleanup() { deallocatePins(); _data = nullptr; }
|
inline void cleanup() { deallocatePins(); _data = nullptr; }
|
||||||
|
|
||||||
@ -299,8 +298,8 @@ class BusOnOff : public Bus {
|
|||||||
|
|
||||||
void setPixelColor(unsigned pix, uint32_t c) override;
|
void setPixelColor(unsigned pix, uint32_t c) override;
|
||||||
uint32_t getPixelColor(unsigned pix) const override;
|
uint32_t getPixelColor(unsigned pix) const override;
|
||||||
unsigned getPins(uint8_t* pinArray) const override;
|
size_t getPins(uint8_t* pinArray) const override;
|
||||||
unsigned getBusSize() const override { return sizeof(BusOnOff); }
|
size_t getBusSize() const override { return sizeof(BusOnOff); }
|
||||||
void show() override;
|
void show() override;
|
||||||
inline void cleanup() { PinManager::deallocatePin(_pin, PinOwner::BusOnOff); _data = nullptr; }
|
inline void cleanup() { PinManager::deallocatePin(_pin, PinOwner::BusOnOff); _data = nullptr; }
|
||||||
|
|
||||||
@ -320,10 +319,10 @@ class BusNetwork : public Bus {
|
|||||||
bool canShow() const override { return !_broadcastLock; } // this should be a return value from UDP routine if it is still sending data out
|
bool canShow() const override { return !_broadcastLock; } // this should be a return value from UDP routine if it is still sending data out
|
||||||
[[gnu::hot]] void setPixelColor(unsigned pix, uint32_t c) override;
|
[[gnu::hot]] void setPixelColor(unsigned pix, uint32_t c) override;
|
||||||
[[gnu::hot]] uint32_t getPixelColor(unsigned pix) const override;
|
[[gnu::hot]] uint32_t getPixelColor(unsigned pix) const override;
|
||||||
unsigned getPins(uint8_t* pinArray = nullptr) const override;
|
size_t getPins(uint8_t* pinArray = nullptr) const override;
|
||||||
unsigned getBusSize() const override { return sizeof(BusNetwork) + (isOk() ? _len * _UDPchannels : 0); }
|
size_t getBusSize() const override { return sizeof(BusNetwork) + (isOk() ? _len * _UDPchannels : 0); }
|
||||||
void show() override;
|
void show() override;
|
||||||
void cleanup();
|
void cleanup();
|
||||||
|
|
||||||
static std::vector<LEDType> getLEDTypes();
|
static std::vector<LEDType> getLEDTypes();
|
||||||
|
|
||||||
@ -381,7 +380,7 @@ struct BusConfig {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned memUsage(unsigned nr = 0) const;
|
size_t memUsage(unsigned nr = 0) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -405,13 +404,13 @@ namespace BusManager {
|
|||||||
#ifdef ESP32_DATA_IDLE_HIGH
|
#ifdef ESP32_DATA_IDLE_HIGH
|
||||||
void esp32RMTInvertIdle() ;
|
void esp32RMTInvertIdle() ;
|
||||||
#endif
|
#endif
|
||||||
inline uint8_t getNumVirtualBusses() {
|
inline size_t getNumVirtualBusses() {
|
||||||
int j = 0;
|
size_t j = 0;
|
||||||
for (const auto &bus : busses) j += bus->isVirtual();
|
for (const auto &bus : busses) j += bus->isVirtual();
|
||||||
return j;
|
return j;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned memUsage();
|
size_t memUsage();
|
||||||
inline uint16_t currentMilliamps() { return _gMilliAmpsUsed + MA_FOR_ESP; }
|
inline uint16_t currentMilliamps() { return _gMilliAmpsUsed + MA_FOR_ESP; }
|
||||||
//inline uint16_t ablMilliampsMax() { unsigned sum = 0; for (auto &bus : busses) sum += bus->getMaxCurrent(); return sum; }
|
//inline uint16_t ablMilliampsMax() { unsigned sum = 0; for (auto &bus : busses) sum += bus->getMaxCurrent(); return sum; }
|
||||||
inline uint16_t ablMilliampsMax() { return _gMilliAmpsMax; } // used for compatibility reasons (and enabling virtual global ABL)
|
inline uint16_t ablMilliampsMax() { return _gMilliAmpsMax; } // used for compatibility reasons (and enabling virtual global ABL)
|
||||||
@ -438,7 +437,7 @@ namespace BusManager {
|
|||||||
void setSegmentCCT(int16_t cct, bool allowWBCorrection = false);
|
void setSegmentCCT(int16_t cct, bool allowWBCorrection = false);
|
||||||
inline int16_t getSegmentCCT() { return Bus::getCCT(); }
|
inline int16_t getSegmentCCT() { return Bus::getCCT(); }
|
||||||
inline Bus* getBus(size_t busNr) { return busNr < busses.size() ? busses[busNr].get() : nullptr; }
|
inline Bus* getBus(size_t busNr) { return busNr < busses.size() ? busses[busNr].get() : nullptr; }
|
||||||
inline uint8_t getNumBusses() { return busses.size(); }
|
inline size_t getNumBusses() { return busses.size(); }
|
||||||
|
|
||||||
//semi-duplicate of strip.getLengthTotal() (though that just returns strip._length, calculated in finalizeInit())
|
//semi-duplicate of strip.getLengthTotal() (though that just returns strip._length, calculated in finalizeInit())
|
||||||
inline uint16_t getTotalLength(bool onlyPhysical = false) {
|
inline uint16_t getTotalLength(bool onlyPhysical = false) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user