Poslední příspěvky

Stran: 1 [2] 3 4 ... 10
11
Vývoj / Re:Pomoc s ARM periferií
« Poslední příspěvek od RDa kdy 06. 01. 2025, 20:20:49 »
Btw proc myslis ze unsigned jsou 16-bit? Je to 32bit arm podle vseho. Samozrejme na AVR (mega/xmega) jsem pozival o hodne explicitnejsi typovani (pres u8/u16/u32) se snahou usetrit misto i vypocetni cykly, protoze to je nativne spis 8 bit nez 16. Tyhle prechody jsou vzdy za trest.. ale holt, nas zakaznik, nas pan :D
12
Vývoj / Re:Pomoc s ARM periferií
« Poslední příspěvek od CFM kdy 06. 01. 2025, 20:17:46 »
Hlavně že to funguje a omlouvám se za podezdření z tak základní chyby :)
13
Studium a uplatnění / Re:Státní zákázky - má malý dodavatel šanci?
« Poslední příspěvek od Zopper kdy 06. 01. 2025, 20:17:28 »
Boj s korupcí (ano, je to problém) je dle mého paradoxně jedním z důvodů aktuálního stavu. Dneska se kvůli tomu soutěží věci, kde by menší soukromá firma o soutěži ani nepřemýšlela.

+1. Ono to má i další důsledky. Nejde jen o existenci soutěže, ale i o všechno kolem.

Cena jako hodnotící kritérium je jednoznačná, snadno popsatelná a nedá se moc zpochybnit, na rozdíl od většiny ostatních věcí. A jak úředník někde dá razítko, musí počítat s tím, že do pár let ho někdo bude zkoušet tahat u soudu. Takže zatímco většina lidí by zahrnula historii dodavatele, minulé zakázky, kvalitu, a tak dál, do hodnocení, tak úředník pořádně nemůže.

Z oprávněného strachu o vlastní kůži (1) tedy úředníci na všech úrovních dělají zakázky tak, aby co nejvíc firem vyřadili už dopředu nějakou kvalifikací i tam, kde to není nijak cinknuté úplatkem nebo chystané pro jednoho dodavatele. Prostě co nejvíc to nastavit na kvalifikačních kritériích a doufat, že z toho nebude průšvih, kdy to vyhraje zcela neznámá firma bez dosavadního obratu a s majitelem na nějakých ostrovech, protože nabídla poloviční cenu oproti ostatním, která následně dodá nepoužitelný projekt, nebo zkrachuje bez výsledku...

(1) Viz třeba jak dlouho trvalo - 9 let - u Vlasty Parkanové v kauze CASA, než ji soud osvobodil. I odškodné dostala, ale kariéru a pověst má zničenou.
14
Vývoj / Re:Pomoc s ARM periferií
« Poslední příspěvek od RDa kdy 06. 01. 2025, 20:13:12 »
Tak jsem na to prisel.

ODSR je navic maskovano "W" bity, na ktere se pristupuje OWER/OWDR (pripadne cteni pres OWSR, bohuzel na primy zapis masky tam neni polozka), takze spravny kod je nakonec tento:

Kód: [Vybrat]
void update_digital_out( unsigned bits ) {
    PIOD->PIO_OWDR = ~OPTO_TX_MASK;
    PIOD->PIO_OWER =  OPTO_TX_MASK;
    PIOD->PIO_ODSR = bits << OPTO_TX_OFFS;
}
15
Sítě / Re:Zbyl ještě nějaký použitelný tunnelbroker?!
« Poslední příspěvek od LolPhirae kdy 06. 01. 2025, 19:48:30 »
Se spolehlivostí už je to horší, podle místa a výhledu na oblohu to má denně několik pár minutových nížší rychlost/packetloss/blackout problémů.

Oproti spolehlivosti Orbánlinku, který zcela náhodně a neohlášeně nefunguje třeba několik dní a nikdo nehodlá nic řešit jinak než přes doporučenou korespondenci od jednatele společnosti, to vypadá celkem lákavě...  :'(
16
Vývoj / Re:Pomoc s ARM periferií
« Poslední příspěvek od CFM kdy 06. 01. 2025, 19:47:33 »
A je v ODSR očekávaná hodnota (tj. je to HW problém či konfigurace čipu) nebo se do OSDR nedostane správná hodnota (chyba v kódu) ... debugger či nějaký pomocný výpis?
Osobně bych si tipnul, že je to problém s velikostí typů a "unsigned bits" jsou 16bit na téhle architekřure a snažíš se to vyrotovat výš než 16bit, takže z toho vyjde nula? Nemám tyhle typy bez jasné velikosti rád, protože si nepamatuji, kterej překladač/architektura má jaké velikosti (navíc se to obvykle dá ovlivnit i nastavením překladače) ...
17
Hardware / Re:Rychlonabíječka pro mobil Sony Xperia 10 III
« Poslední příspěvek od LolPhirae kdy 06. 01. 2025, 19:45:11 »
Fascinující, nad čím lidi zvládnou několik dní bádat. Nicméně někdy kolem Black Friday jsem kupoval tohle za cca 40€.
18
Vývoj / Pomoc s ARM periferií
« Poslední příspěvek od RDa kdy 06. 01. 2025, 18:09:27 »
Myslím, že se tady najde i několik odborníků - řeším oživení a "BSP" pro projekt odvozený od Arduino DUE desky.

TLDR: Nefunguje mi zápis do PIO výstupů paralelně, jen skrze set/clear registry. Hodiny pro perfierii jsem povolil.


Relevantní kusy kódu:
Kód: [Vybrat]
#define config_pio_out( port, bits ) \
    port->PIO_PER  = bits; \
    port->PIO_OER  = bits; \
    port->PIO_PUDR = bits;

#define update_pio( port, bits, enable ) \
    if (enable) { \
        port->PIO_SODR = bits; \
    } else { \
        port->PIO_CODR = bits; \
    }

/*
    OCRX[8:1] = PC[27:20]
    OCTX[8:1] = PD[7:0]
*/

#define OPTO_TX_DEFAULT         0x00

#define OPTO_TX_OFFS    0
#define OPTO_TX_MASK    ( PIO_PD7 \
                        | PIO_PD6 \
                        | PIO_PD5 \
                        | PIO_PD4 \
                        | PIO_PD3 \
                        | PIO_PD2 \
                        | PIO_PD1 \
                        | PIO_PD0 )

void config_digital_out(void) {
    // for ODSR to work?
    PMC->PMC_PCER0 = 1 << ID_PIOD;
    // classic
    config_pio_out( PIOD, OPTO_TX_MASK );
    update_digital_out( OPTO_TX_DEFAULT );
}

void update_digital_out( unsigned bits ) {
    #if 1
        PIOD->PIO_ODSR = ( PIOD->PIO_ODSR & ~(OPTO_TX_MASK) )
                       | ( (bits<<OPTO_TX_OFFS) & (OPTO_TX_MASK) );
    #else
        update_pio( PIOD, PIO_PD7, bits & BIT(7) );
        update_pio( PIOD, PIO_PD6, bits & BIT(6) );
        update_pio( PIOD, PIO_PD5, bits & BIT(5) );
        update_pio( PIOD, PIO_PD4, bits & BIT(4) );
        update_pio( PIOD, PIO_PD3, bits & BIT(3) );
        update_pio( PIOD, PIO_PD2, bits & BIT(2) );
        update_pio( PIOD, PIO_PD1, bits & BIT(1) );
        update_pio( PIOD, PIO_PD0, bits & BIT(0) );
    #endif
}

a

Kód: [Vybrat]
// ./system/CMSIS/Device/ATMEL/sam.h
#include <sam.h>
#include <libsam/include/pmc.h>

:

int main( int argc, char *argv[] ) {

    /* Initilize the SAM3 system */
    SystemInit();

    config_digital_out();

    while(1) {

        static unsigned n = 0;
        n = ( n + 1 ) & 0xFF;

        update_digital_out( n );

    }

    return 0;
}


Po zmene #if 1 na #if 0 v update_digital_out(), se generuje pattern s frekvenci ktera je polovina/dvojnasobek kazdym dalsim bitem, pri pouziti ODSR se ale nic nedeje, vsechny piny jsou v nule. Mam tam nejaky preklep nekde? Nebo to co chci nejde udelat? Nebo jsem jen na neco dalsiho zapomnel? Nebo snad nejaka errata? :D

Kod pro SAM3X8E cpu jsem vzal z Arduino gitu: https://github.com/arduino/ArduinoCore-sam ale builduji si aplikaci uz mimo IDE, linkuji to skrze linker script a .a pro tu systemovou knihovnu z Arduina.

Ostatni veci funguji (jako SystemInit a pak mam i SysTick_Config a na nej navazany delay_ms, jen ten IO port ne a nevim kde je chyba - s temito mcu nedelam.

Arduino samotne nema IO primitiva na ovladani portu timto stylem, a hodiny pro periferii povoluje jen kdyz na portu je alespon jeden pin jako vstup (asi kvuli glitch filtru a prerusenim).
19
Vývoj / Projekt na Raspberry Pi a Python
« Poslední příspěvek od miminek23 kdy 06. 01. 2025, 17:50:19 »
Dělám projekt na přenos dat světlem z jednoho Raspberry Pi na druhé pomocí laseru. První kod v příloze "blik.py" převede uživatelem zadaný text na ASCII kod v bináru a laser podle hodnoty 1 nebo 0 bliká po určitou dobu. Nedokážu ale zprovoznit přijímací část (prichod.py). Používám fotorezistor a normální rezistor jako dělič napětí.
Poprosil bych jestli by někdo nebyl schopný mi přijímací část zprovoznit a nejlépe ještě najít způsob jak obě zařízení synchronizovat, aby se spustila naráz

Díky moc!
20
Studium a uplatnění / Re:Státní zákázky - má malý dodavatel šanci?
« Poslední příspěvek od to_je_jedno kdy 06. 01. 2025, 16:23:08 »
Tak nebreč, založ firmu a jdi do toho.

Ale nemůžeš čekat, že si někdo na tohle najme one man OSVČ. To často neudělá ani menší firma (myšleno na dodání nového systému).

Ale za mě platí, že kdo chce zůstat cistej tak ruce pryč od státu
Stran: 1 [2] 3 4 ... 10