Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
Byla vydána nová verze 10.3 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu bezpečnostních oprav, vylepšení funkcí a oprav chyb.
Cloudflare představil open source redakční systém EmDash. Jedná se o moderní náhradu WordPressu, která řeší bezpečnost pluginů. Administrátorské rozhraní lze vyzkoušet na EmDash Playground.
Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.
Na iVysílání lze zhlédnout všechny díly kultovního sci-fi seriálu Červený trpaslík.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl v březnu 5,33 % (Windows -4,28 %, OSX +1,19 %, Linux +3,10 %). Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 24,48 %. Procesor AMD používá 67,48 % hráčů na Linuxu.
Společnost Apple slaví padesáté narozeniny. Založena byla 1. dubna 1976.
FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.24.0. Toto velké opravné vydání implementuje SABR (Server-Based Adaptive Bit Rate), což řeší část nedávných problémů s načítáním videí z YouTube, a aktualizuje základní komponenty jako Electron nebo přehrávač Shaka Player.
Je tu opět apríl. O víkendu zmizel kamion s 12 tunami tyčinek KitKat. Firmy to využívají k aprílovým žertům. Groupon má super akci. Koupíte 1 tyčinku a dostanete 100 zdarma. Ryanair si přelepil letadla. Šéf Outlooku se ptá, proč mají v baráku 14 beden tyčinek KitKat (𝕏). Prusa Research představuje Prusa Pro ACU a vysvětluje proč přílišné sušení škodí vaším filamentům. Telefon Sony Xperia má miliónnásobný zoom (𝕏). PC.net představil Super Ultrabox 2600 se zajímavými parametry. Další aprílové novinky například na April Fools' Day On The Web.
uint8_t search_sensors(void) {
uint8_t i;
uint8_t id[OW_ROMCODE_SIZE];
uint8_t diff;
bool akva1, akva2, lednice, mistnost;
while(1) {
//writestr("+4 NACITAM SENZORY");
//lfcr();
m_delay_ms(250);
nSensors = 0;
akva1_id = -1;
akva2_id = -1;
lednice_id = -1;
mistnost_id = -1;
for(uint8_t iN = 0; iN<MAXSENSORS; iN++) { // nemá vliv na chování
for(uint8_t iN2 = 0; iN2<OW_ROMCODE_SIZE; iN2++) {
gSensorIDs[iN][iN2] = 0;
}
}
for(diff = OW_SEARCH_FIRST; diff != OW_LAST_DEVICE && nSensors < MAXSENSORS; ) {
DS18X20_find_sensor( &diff, &id[0] );
if( diff == OW_PRESENCE_ERR ) break;
if( diff == OW_DATA_ERR ) break;
akva1 = true;
akva2 = true;
lednice = true;
mistnost = true;
for (i=0;i<OW_ROMCODE_SIZE;i++) {
gSensorIDs[nSensors][i]=id[i];
if(akva1) {
eeprom_busy_wait();
if( gSensorIDs[nSensors][i] != eeprom_read_byte((uint8_t*)(EEPROM_AKVA1_SENSOR+i)) ) akva1 = false;
}
if(akva2) {
eeprom_busy_wait();
if( gSensorIDs[nSensors][i] != eeprom_read_byte((uint8_t*)(EEPROM_AKVA2_SENSOR+i)) ) akva2 = false;
}
if(lednice) {
eeprom_busy_wait();
if( gSensorIDs[nSensors][i] != eeprom_read_byte((uint8_t*)(EEPROM_LEDNICE_SENSOR+i)) ) lednice = false;
}
if(mistnost) {
eeprom_busy_wait();
if( gSensorIDs[nSensors][i] != eeprom_read_byte((uint8_t*)(EEPROM_MISTNOST_SENSOR+i)) ) mistnost = false;
}
}
if(akva1 && !akva2 && !lednice && !mistnost) {
akva1_id = nSensors;
leds_add(port_led_akva1);
}
if(!akva1 && akva2 && !lednice && !mistnost) {
akva2_id = nSensors;
leds_add(port_led_akva2);
}
if(!akva1 && !akva2 && lednice && !mistnost) {
lednice_id = nSensors;
leds_add(port_led_lednice);
}
if(!akva1 && !akva2 && !lednice && mistnost) {
mistnost_id = nSensors;
}
nSensors++;
}
if( nSensors ) return nSensors;
leds_search();
leds_blink(LED_BLINK_FAST_INTERVAL);
m_delay_s(1);
}
}
void vypsat_senzory() {
nSensors = search_sensors();
for ( int i=0; i<nSensors; i++ ) {
writestr("#");
writestr_integer((int) i);
if(i == akva1_id)
writestr(":AKVA1:");
if(i == akva2_id)
writestr(":AKVA2:");
if(i == lednice_id)
writestr(":LEDNICE:");
if(i == mistnost_id)
writestr(":MISTNOST:");
writestr(" ");
writetemp(getTemp(i));
lfcr();
}
}
void uloz_senzor( uint8_t *id, uint8_t kam ) {
for (int i=0; i<OW_ROMCODE_SIZE; i++) {
eeprom_busy_wait();
eeprom_write_byte((uint8_t*)(kam+i),id[i]);
}
}
void nastav_senzor(char cilselekt) {
uint8_t sensT = (uint8_t)(rx_buffer[0]-48);
writestr_integer((int) sensT); lfcr();
if ( sensT < nSensors ) {
if(cilselekt == '1')
uloz_senzor(&gSensorIDs[sensT][0], EEPROM_AKVA1_SENSOR);
else if(cilselekt == '2')
uloz_senzor(&gSensorIDs[sensT][0], EEPROM_AKVA2_SENSOR);
else if(cilselekt == 'l')
uloz_senzor(&gSensorIDs[sensT][0], EEPROM_LEDNICE_SENSOR);
else if(cilselekt == 'm')
uloz_senzor(&gSensorIDs[sensT][0], EEPROM_MISTNOST_SENSOR);
else errorWrite(1);
writestr("+1 OK");
lfcr();
nSensors = search_sensors();
vypsat_senzory();
}
else
errorWrite(1);
}
void eeprog_vstup_podprogram() {
if(citac_ee > 0) {
for (uint8_t i=RX_BUFFER_SIZE; i>0; i--) rx_buffer[i]=0;
rs232enter=0;
rs232ready=true;
while(1) {
if(rs232enter) {
rs232ready=false;
if(cmdtest('L','S',0))
vypsat_senzory();
else if(cmdtest('S','A',1))
nastav_senzor('1');
else if(cmdtest('S','B',1))
nastav_senzor('2');
else if(cmdtest('S','L',1))
nastav_senzor('l');
else if(cmdtest('S','M',1))
nastav_senzor('m');
else if(cmdtest('E','Q',0)) {
writestr("+1 OK"); lfcr();
break;
}
else
errorWrite(3);
for (uint8_t i=RX_BUFFER_SIZE; i>0; i--) rx_buffer[i]=0;
rs232enter=0;
rs232ready=true;
}
}
}
else
errorWrite(4);
}
Samotné search_sensors(void) funguje dobře, opravdu porovnává všechny bajty identifikace senzoru vs. uložená identifikace v eeprom. Problém nastává, pokud chci uložit nový senzor. Všechny se ukládají dobře, kromě 1.(senzor #0). Pokud se jednoduše snažím uložit senzor 0 jako cokoliv, tak je první bajt vždy 0x00. Takhle vypadá část eepromky: 00FBFA97020000A728D6F797020000B72820BA9702000072. Správně ale má být 28FBFA97020000A728D6F797020000B72820BA9702000072. Co mám špatně?
Řešení dotazu:
Tiskni
Sdílej: