- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- Atomenergiával dübörögnek tovább az Amazon adatközpontok, SMR-ek is jöhetnek
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Az NVIDIA ipari AI-felhőt épít a németeknek, együtt az OpenAI és a Google
- Két új Ryzen közül választhatnak a kézikonzolok
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
-
-
válasz
JulianSinulf #22935 üzenetére
#define PIN 8
A preprocesszor, ami a fordítás előtt fut, gyakorlatilag tol egy "search and replace"-t.
const int PIN = 8;
Ez egy sima változó. Fordító ellenőrzi, hogy a típusa megfelel-e a függvénynek. Mivel const, ezért a fordító kioptimalizálja a kódból, így nem foglal extra memóriát sem. -
-
Az üres loop nem maxol ki egy magot teljesen?
-
-
-
-
-
-
-
-
-
-
-
Ez a C3 mennyire használható ESP32 helyett?
-
válasz
Wolfram #21767 üzenetére
chatgpt mire van?
Mondjuk nem teszteltem.
#ifndef BASE_64_HPP
#define BASE_64_HPP
#include <algorithm>
#include <cstdint>
#include <stdexcept>
#include <string>
namespace base64 {
const std::string base64_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"0123456789+/";
template <class OutputBuffer, class InputIterator>
inline OutputBuffer encode_into(InputIterator begin, InputIterator end) {
static_assert(std::is_same<typename std::decay<decltype(*begin)>::type, char>::value
|| std::is_same<typename std::decay<decltype(*begin)>::type, unsigned char>::value
|| std::is_same<typename std::decay<decltype(*begin)>::type, uint8_t>::value);
size_t counter = 0;
uint32_t bit_stream = 0;
size_t offset = 0;
OutputBuffer encoded;
encoded.reserve(static_cast<size_t>(1.5 * static_cast<double>(std::distance(begin, end))));
while (begin != end) {
auto const num_val = static_cast<uint8_t>(*begin);
offset = 16 - counter % 3 * 8;
bit_stream += num_val << offset;
if (offset == 16) {
encoded.push_back(base64_chars[bit_stream >> 18 & 0x3f]);
}
if (offset == 8) {
encoded.push_back(base64_chars[bit_stream >> 12 & 0x3f]);
}
if (offset == 0 && counter != 3) {
encoded.push_back(base64_chars[bit_stream >> 6 & 0x3f]);
encoded.push_back(base64_chars[bit_stream & 0x3f]);
bit_stream = 0;
}
++counter;
++begin;
}
if (offset == 16) {
encoded.push_back(base64_chars[bit_stream >> 12 & 0x3f]);
encoded.push_back('=');
encoded.push_back('=');
}
if (offset == 8) {
encoded.push_back(base64_chars[bit_stream >> 6 & 0x3f]);
encoded.push_back('=');
}
return encoded;
}
inline std::string to_base64(const std::string& data) {
return encode_into<std::string>(data.begin(), data.end());
}
template <class OutputBuffer>
inline OutputBuffer decode_into(const std::string& data) {
using value_type = typename OutputBuffer::value_type;
static_assert(std::is_same<value_type, char>::value
|| std::is_same<value_type, unsigned char>::value
|| std::is_same<value_type, uint8_t>::value);
size_t counter = 0;
uint32_t bit_stream = 0;
OutputBuffer decoded;
decoded.reserve(data.size());
for (unsigned char c : data) {
auto const num_val = base64_chars.find(c);
if (num_val != std::string::npos) {
auto const offset = 18 - counter % 4 * 6;
bit_stream += static_cast<uint32_t>(num_val) << offset;
if (offset == 12) {
decoded.push_back(static_cast<value_type>(bit_stream >> 16 & 0xff));
}
if (offset == 6) {
decoded.push_back(static_cast<value_type>(bit_stream >> 8 & 0xff));
}
if (offset == 0 && counter != 4) {
decoded.push_back(static_cast<value_type>(bit_stream & 0xff));
bit_stream = 0;
}
} else if (c != '=') {
throw std::runtime_error("Invalid base64 encoded data");
}
counter++;
}
return decoded;
}
inline std::string from_base64(const std::string& data) {
return decode_into<std::string>(data);
}
} // namespace base64
#endif // BASE_64_HPP -
-
-
-
-
-
-
-
-
-
-
válasz
lanszelot #20378 üzenetére
Nézd erősebben:
struct decode_results {
decode_type_t decode_type; // deprecated, moved to decodedIRData.protocol ///< UNKNOWN, NEC, SONY, RC5, ...
uint16_t address; // Used by Panasonic & Sharp [16-bits]
uint32_t value; // deprecated, moved to decodedIRData.decodedRawData ///< Decoded value / command [max 32-bits]
uint8_t bits; // deprecated, moved to decodedIRData.numberOfBits ///< Number of bits in decoded value
uint16_t magnitude; // deprecated, moved to decodedIRData.extra ///< Used by MagiQuest [16-bits]
bool isRepeat; // deprecated, moved to decodedIRData.flags ///< True if repeat of value is detected
// next 3 values are copies of irparams values - see IRremoteint.h
uint16_t *rawbuf; // deprecated, moved to decodedIRData.rawDataPtr->rawbuf ///< Raw intervals in 50uS ticks
uint_fast8_t rawlen; // deprecated, moved to decodedIRData.rawDataPtr->rawlen ///< Number of records in rawbuf
bool overflow; // deprecated, moved to decodedIRData.flags ///< true if IR raw code too long
}; -
-
-
-
-
-
-
-
-
válasz
its_grandpa #20153 üzenetére
És ha az van oda írva, hogy ugorj bele, akkor beleugrasz? Persze, ha a munkáltató megköveteli, OK, nálunk is van Sonarqube, de egy rakás szabály ki van dobva /főleg kód komplexitás, meg ilyenek/, mert csak szopatnánk vele magunkat. Nekem az a véleményem, hogy az a jó kód, ami érthető és karbantartható, nem az, ami megfelel valami szabálynak. Ha a kettő között van átfedés, az még jobb.
-
-
válasz
its_grandpa #20140 üzenetére
Structured programming says you should only have one return statement per function.
Szerintem ez csak preferencia kérdése.
-
-
-
-
-
-
-
-
-
Ezeket általában C++ template-tel implementálják, én legalábbis azt csinálnám. Annyi a lényege, hogy a függvényparaméter típusa fordítás közben dől el.
Valami ilyesmi talán:
template <typename T>
void eeprom::put(T what)
{
eeprom::write((void*)&what, sizeof(what));
}És akkor kb. bármit tudsz menteni.
-
-
-
-
-
-
válasz
Harcipocok84 #19559 üzenetére
Nyugodtan írd le, aztán a megoldást is, tanuljunk együtt!
-
-
-
-
-
-
-
-
-
-
válasz
Wolfram #19320 üzenetére
Esetleg ezzel tegyél egy próbát, nem teszteltem, csak hogy fordul-e.
#include <HTTPClient.h>
class customHTTPClient : public HTTPClient
{
public:
using HTTPClient::GET;
String GET(const String &url)
{
String result;
if(begin(url))
{
if(GET() > 0)
{
result = getString();
}
end();
}
return result;
}
};
void setup()
{
customHTTPClient http;
String result = http.GET("http://www.test.com");
} -
-
-
-
-
válasz
JozsBiker #19060 üzenetére
Sima rezisztív fogyasztót csak egy 75 W -os izzót találtam, a műszer szerint 0,3 A -t vesz fel. A szkóp szerint az ACS712 kimenetén a szinusz jel 2,4 - 2,6 V között mozog ( ez mondjuk nem tudom hogyan egyeztethető össze a fenti 0,185mV/A -rel ), bár elég szőrös a jelalak.
0,3 Aeff = 2 * 0,3 * 1,41 = 0,846 Apeak-peak
2,6 - 2,4 = 200 mVpeak-peak / 185 mV/A = 1,08 Apeak-peakHa elég hunyorítva nézed, kijön az.
-
-
-
válasz
razorbenke92 #19006 üzenetére
Írta, hogy próbált másik módszert, és azzal sem volt jó. Személy szerint én kiíratnám a mért értékeket, és kézzel kiszámolnám, hogy egyáltalán jó-e az input.
-
-
-
-
-
-
-
válasz
its_grandpa #18919 üzenetére
S2/S3 az tud natív USB-t már elvileg. /mondjuk a feltöltés utáni auto reloadot így bukjuk/
-
-
-
-
-
-
-
-
-
-
-
válasz
its_grandpa #18691 üzenetére
Szerintem ugyanarról beszélünk. Ha nem látná, le sem fordulna.
-
Új hozzászólás Aktív témák
Hirdetés
- HP Elitebook 840 G3 laptop (15,6FHD/I5-G8/8GB/256SSD/Magyar/Win11)
- AMD Ryzen 5 5500 - GTX 1080Ti 11Gb - MSI B450 Max
- HP Zbook 15 G3 laptop (15,6FHD/I7-G6/16GB/256SSD/AMD2GB/MagyarVilágítós/Win11)
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- KÖZEL FÉLÁR! Apple Magic Keyboard, Mouse, Trackpad, Pencil, Smart Magic Keyboard Folio, Watch szíjak
- BESZÁMÍTÁS! 860W Fractal Design ION + 2 Platinum tápegység garanciával hibátlan működéssel
- Telefon felvásárlás!! Apple Watch SE/Apple Watch SE 2 (2022)
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 4070Ti Super GAMER PC termékbeszámítás
- BESZÁMÍTÁS! Gigabyte B550M R7 5700X 32GB DDR4 512GB SSD RX 7700 XT 12GB DeepCool CC560 Seasonic 650W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged