Hirdetés
Új hozzászólás Aktív témák
-
daninet
veterán
válasz
DrojDtroll #4417 üzenetére
Igen, meg az első homingnál lehetne az időt mérni, mert ugye mindig máskor kapcsolom ki. Vannak elméleti ötleteim. Ezt egy arduinonál még lehet megoldanám, csak itt bőven meghaladja a képességeimet.
Azt is elfogadom válasznak, ha nem lehet ennyivel megoldani, valamiért azt várom picit lesz valaminegysoros akármi amit oda berakhatok és menni fog. De azt is elfogadom válasznak ha nincs ilyen. -
daninet
veterán
válasz
dabadab #4415 üzenetére
Elvileg C++, igen (70%-ban, 30-ban C). De javíts ki ha nem, átrakom másik topikba. Marlin firmware-t akarom módosítani. Volt már itt téma, akkor te segítettél, de az igényeim alacsonyabbak voltak
, csak újra akartam indítani a sorozatot, működött is.
Szóval alant a kódban a random(2,10); függvényt használtam, de mint írtátok, ez ugyanazt a sorozatot generálja mindig, nekem ez nem jó.
Hogy értsétek, erről a homokba rajzolós asztalról van szó. SD kártyán vannak a minták, indításnál az auto0.g fájl tartalmazza a homing sequence-t, a többi auto1.g - auto9.g a mintákat amiket rajzol. Mivel ezek órákig mennek nem poén, ha mindig bekapcsolom és ugyanazzal indul. Jó lenne, ha random választana egy számot 2-10ig (függvényben alul van egy x-1) és akkor valamelyik mintát elkezdené rajzolni.
Kontextusnak annyi, hogy elkezdi beolvasni az SD kártya tartalmát a program, és ha nincs ott egy fájl amit áramkimaradás esetén akkor kezdi a kód szerint az auto0.g-tmod: elég rossz itt a kódformázás, itt egy pastebin link: https://pastebin.com/zFwjc0y9
#if DISABLED(NO_SD_AUTOSTART)
/**
* Run all the auto#.g files. Called:
* - On boot after successful card init.
* - From the LCD command to Run Auto Files
*/
void CardReader::autofile_begin() {
autofile_index = 1;
(void)autofile_check();
}
/**
* Run the next auto#.g file. Called:
* - On boot after successful card init
* - After finishing the previous auto#.g file
* - From the LCD command to begin the auto#.g files
*
* Return 'true' if an auto file was started
*/
bool CardReader::autofile_check() {
if (!autofile_index) return false;
if (!isMounted())
mount();
else if (ENABLED(SDCARD_EEPROM_EMULATION))
settings.first_load();
// Don't run auto#.g when a PLR file exists
if (isMounted() && TERN1(POWER_LOSS_RECOVERY, !recovery.valid())) {
char autoname[10];
sprintf_P(autoname, PSTR("/auto%c.g"), '0' + autofile_index - 1);
if (fileExists(autoname)) {
cdroot();
openAndPrintFile(autoname);
// Generate a random number between 2 and 10
int randomNumber = random(2,10);
autofile_index = randomNumber;
//
return true;
}
}
autofile_cancel();
return false;
}
#endif
-
daninet
veterán
Sziasztok!
Teljesen noob kérdés:
Random int számot kellene generálnom egy mikrokontrolleren, de nincs órája és limitált a memória. Szóval kóddal kellene megoldalni anélkül, hogy behívok bármilyen library-t.
Végignéztem a keresőben egy csomó találatot de mindenhol az órával variálnak. Nekem ugyanez kóddal kell, valami memória hash-elős akármilyen trükkel.
Hogyan oldható ez meg? -
daninet
veterán
válasz
jattila48 #4353 üzenetére
igen
dabadab: igenmindenkinek köszi, működik.
Egyébként ha valaki érdekel egy ilyen homokba rajzasztal playlistjét indítja majd a kód, a 9 fájl darabja 30-60perc egymás után rajzolódik a homokba. -
daninet
veterán
Sziasztok!
Valaki validálná nekem, hogy az alábbi kód helyes? Azt akarom, ha ez a loop eléri az auto9.g sorszámot ugorjon vissza nullára (vagyis a számlálóban 1-re amiből kivonunk egyet).
Ezek a fájlok majdnem 6 óráig futnak ezért szeretném tudni a hosszú teszt előtt, hogy amit belekontárkodtam működikvoid CardReader::autofile_begin() {
autofile_index = 1;
(void)autofile_check();
}
bool CardReader::autofile_check() {
if (!autofile_index) return false;
if (!isMounted())
mount();
else if (ENABLED(SDCARD_EEPROM_EMULATION))
settings.first_load();
// Don't run auto#.g when a PLR file exists
if (isMounted() && TERN1(POWER_LOSS_RECOVERY, !recovery.valid())) {
char autoname[10];
sprintf_P(autoname, PSTR("/auto%c.g"), '0' + autofile_index - 1);
if (fileExists(autoname)) {
cdroot();
openAndPrintFile(autoname);
if (autofile_index = 10)
autofile_index = 1;
else if (autofile_index < 10)
autofile_index++;
return true;
}
}
autofile_cancel();
return false;
}
-
daninet
veterán
Hát, köszönöm a sok hozzászólást, fogalmam sincs mi a jó vélemény
Tanulok tovább
-
daninet
veterán
nos kész a dobókocka játék, kb 2 hetet tanultam egy mobilapplikációból a c++ -t ezt hoztam ki. Azóta utánanéztem pár dolognak, de ezt újra már nem kezdem.
-eleinte kicsit inkonzisztensen használtam a printf()-et, annak valamiért jobban tetszik a syntax-ja, de abbahagytam
-goto-val ugrálok előre hátra a kódban (vissza a menühöz pl) azóta olvastam ez nemjó, értem miért bár nem teljesen tudom mi válthatja ki
-nem gyűjtöttem semmi szemetet
-nem használtam semmiféle class-t és objectet, azt még nem nagyon értem, illetve kellene egy komplexebb feladat ahol értelmet nyer
-ide illeszd be a kommentjeid -
daninet
veterán
válasz
PandaMonium #3934 üzenetére
Fogalmam sincs mi tortenik, szoval a kodban az elso ilyen megallast nem ertelmezi legyen az barhol. Szoval beraktam az elejere egyet, atugorja, utana jo.
Ha nem megy esszel oldd meg erovel
-
daninet
veterán
Azt mondjátok már meg ebben a loop-ban miért nem áll meg gombnyomáshoz az első körnél, csak a másodiknál.
for (int i = 0; i < playerz; i++)
{
for (int x = 0; x < 2; x++)
{
cout << names.at(i) << " " << x + 1 << ". dobasa!";
do
{
cout << "\nGuritashoz nyomj Entert...";
} while (cin.get() != '\n');
srand(time(0));
cout << "\nEredmeny: " << gurit();
cout << "\n\n";
}
} -
daninet
veterán
Sziasztok!
kezdő téma, klasszik iskolapéldát akarom megoldani, dobókockás játék. Kb minden kész már, csak az elején statikus még,
először beadom a játékosok számát, majd be kellene irni a neveket, de c++ nem támogat int értéket array-nek, csak konstansot. Próbáltam keresni, de string-re nem láttam semmit, nyilván nem tudom mit keressekannyi kellene legyen az array mérete ahány a játékosok száma
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Kedvező ár! Lenovo T570 laptop (15,6FHD/i5-G7/8GB/256SSD/Magyar)
- Palit 3070 Ti GamingPRO 8G
- Kedvező ár! HP Zbook 15 Workstation laptop (15,6FHD/i7-G4MQ/16GB/128SSD/Nvidia2GB)
- Kedvező ár! Lenovo Yoga 370 laptop-tablet (12,5FHD/i5-G7/16GB/256SSD)
- Újszerű Samsung HW-R470 - 4.1-es hangrendszer wireless hátsó hangfalakkal és mélynyomóval
- Nintendo Switch V2. 32GB. + 128GB. SAMSUNG PRO PLUS Micro SD. kártya.
- Logitech MX5500 vezeték nélküli billentyűzet
- Sony A8 Series 4K OLED Android TV - 65" (164cm)
- Kedvező ár! Dell E5570 laptop (15,6FHD/i5-G6/8GB/256SSD/Magyar)
- Zotac Zone AMD Ryzen 8840U, 16GB RAM, 512GB SSD + original Zone carrying case
- Bezámítás! ASUS ROG Zephyrus G16 (2024) OLED notebook - Ultra 9 32GB RAM 1TB SSD RTX 4060 8GB Win11
- LG 27GP850P-B - 27" NANO IPS - 2560x1440 - 180Hz 1ms - NVIDIA G-Sync - AMD FreeSync - HDR 400
- BESZÁMÍTÁS! ASRock B550M R7 5700X3D 64GB DDR4 500GB SSD RX 6800 16GB Zalman Z1 Plus GIGABYTE 850W
- Intel X540-T2 dual-port 10GbE RJ45 hálózati vezérlő (10Gbit, 2 port, áfás számla, garancia)
- iKing.Hu - Honor Magic 7 Pro - Black - Használt, karcmentes
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest