Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Byla vydána nová verze 0.4.15 (𝕏) svobodného operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows. Přehled novinek i s náhledy v oznámení o vydání.
Byl představen rpi-image-gen, tj. oficiální nástroj pro vytváření vlastních softwarových obrazů pro zařízení Raspberry Pi.
Byla vydána nová major verze 8.0, aktuálně 8.0.1, softwaru pro správu elektronických knih Calibre (Wikipedie). Přehled novinek v poznámkách k vydání. Vypíchnuta je lepší podpora Kobo KEPUB formátu nebo integrovaný lokálně běžící engine Piper pro převod textu na řeč používaný pro čtení nahlas (již od verze 7.18).
Společnost OpenAI rozšířila své API o nové audio modely. Nový model pro převod textu na řeč (text-to-speech model) lze bez přihlašování vyzkoušet na stránce OpenAI.fm.
Příspěvek Bezpečnost paměti pro webové fonty na blogu Chrome pro vývojáře rozebírá, proč se pro zpracování webových fontů v Chrome místo FreeType nově používá v Rustu napsaná Skrifa z Fontations.
V pátek 21. a v sobotu 22. března proběhnou Arduino Days 2025, tj. každoroční „narozeninová oslava“ platformy Arduino. Na programu je řada zajímavých přednášek. Sledovat je bude možné na YouTube. Zúčastnit se lze i lokálních akcí. V sobotu v Praze na Matfyzu.
Komunitná konferencia Bratislava OpenCamp, ktorá sa uskutoční už o tri týždne 5. 4. 2025 na FIIT STU pozná svoj program – návštevníkom ponúkne 3 paralelné behy prednášok a workshopov na rôzne témy týkajúce sa otvoreného softvéru či otvorených technológií.
Časopis MagPi od nakladatelství Raspberry Pi se s číslem 151 přejmenoval na Raspberry Pi Official Magazine. I pod novým názvem zůstává nadále ve formátu pdf zdarma ke čtení.
Japonská SoftBank Group kupuje firmu Ampere Computing za 6,5 miliardy dolarů. Ampere Computing vyrábí 32-128jádrové procesory Ampere Altra a 192jádrové procesory AmpereOne.
/* compass.c #include <errno.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <linux/i2c-dev.h> /* Note that the documentation for the compass states its address as 0xC0. * However, this includes the low bit which specifies read or write. * Linux i2c does not include this bit in this address, so the actual * address is 0xC0 shifted down, 0x60. */ #define CMPS03_ADDR 0x60 /* The important registers on the compass. Internal/test registers omitted. */ #define CMPS03_SOFTWARE_REVISION 0x0 #define CMPS03_BEARING_BYTE 0x1 #define CMPS03_BEARING_WORD_HIGH 0x2 #define CMPS03_BEARING_WORD_LOW 0x3 #define CMPS03_CALIBRATE_CMD 0xF int main(int argc, char *argv[]) { char *end; int res,file; int e1; char filename[20] ; long funcs; int heading_byte, heading_word_h, heading_word_l; int bearing_long, bearing_degrees; sprintf(filename,"/dev/i2c-0"); if ((file = open(filename,O_RDWR)) < 0) { e1 = errno; if (e1 != ENOENT) { fprintf(stderr,"Error: Could not open file '%s' : %sn", filename,strerror(e1)); if(e1 == EACCES) fprintf(stderr,"Run as root?n"); } } /* Get software revision number */ res = i2c_smbus_read_byte_data(file, CMPS03_SOFTWARE_REVISION); if (res < 0) { printf("Cannot read software revision leveln"); } else { printf("Software revision level: %02xn", res); } /* Loop and read from the compass. */ while (1) { /* The heading byte is 0-255 for the 360 degrees. */ heading_byte = i2c_smbus_read_byte_data(file, CMPS03_BEARING_BYTE); if (heading_byte < 0) { printf("Error reading from compass."); exit(1);} /* The high resolution heading is given in two registers, and is 10 * the * heading in degrees, ie 359.9 degrees reads as 3599. */ heading_word_h = i2c_smbus_read_byte_data(file, CMPS03_BEARING_WORD_HIGH); if (heading_word_h < 0) { printf("Error reading from compass."); exit(1);} heading_word_l = i2c_smbus_read_byte_data(file, CMPS03_BEARING_WORD_LOW); if (heading_word_l < 0) { printf("Error reading from compass."); exit(1);} /* Combine the two bytes, and get the heading in degrees. */ bearing_long = heading_word_h * 256 + heading_word_l; bearing_degrees = bearing_long / 10; printf("Bearing: %d \n", bearing_degrees); /* Wait for a while. */ usleep(200000); } }Kompilace vyhodí vždy tyto chyby:
[honza@AMD2000 ~]$ cc i2c.c i2c.c:97:2: warning: no newline at end of file /tmp/ccNQKa9S.o: In function `main': i2c.c:(.text+0xbe): undefined reference to `i2c_smbus_read_byte_data' i2c.c:(.text+0xfb): undefined reference to `i2c_smbus_read_byte_data' i2c.c:(.text+0x12f): undefined reference to `i2c_smbus_read_byte_data' i2c.c:(.text+0x163): undefined reference to `i2c_smbus_read_byte_data' collect2: ld returned 1 exit statusNevíte někdo co s tím?
(collect2: ld returned 1 exit status)
zkuste pridat parametr -li2c (nebo neco v tom smyslu - pridani i2c knihovny)
Tiskni
Sdílej: