<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=4749&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-01-04T22:55:31+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=4749&amp;mode</id>
<entry>
<author><name><![CDATA[savian86]]></name></author>
<updated>2014-01-04T22:55:31+01:00</updated>
<published>2014-01-04T22:55:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63837#p63837</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63837#p63837"/>
<title type="html"><![CDATA[Re: PetitFS - zapis do pliku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63837#p63837"><![CDATA[
<div class="quotetitle">dambo napisał(a):</div><div class="quotecontent"><br />a czemu ma go kasować ? Możesz łatwo zrobić 12 plików dla każdego miesiąca <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> np po nazwie pliku dajesz 2 spacje i potem tam dopisujesz w programie nr miesiąca przerobiony na string.<br /></div><br /><br />Tak też właśnie planowałem zrobić, aby ominąć kasowanie to można wykonać na kilka sposobów, właśnie z odpowiednią strukturą folderów i plików. <br />Testuje bibliotekę PetitFs i chciałem zobaczyć na jakie ograniczenia mogę trafić i czy można się z nimi jakoś uporać. Jak miałem wcześniej problem z dobrym ogarnięciem tej biblioteki (bazowałem na gotowych fragmentach z książek) to dzisiaj przez takie szukanie dziury w całym dosyć dobrze zrozumiałem o co chodzi z tym wszystkim i jak tego się używa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=393">savian86</a> — 4 sty 2014, o 22:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[savian86]]></name></author>
<updated>2014-01-04T22:06:57+01:00</updated>
<published>2014-01-04T22:06:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63834#p63834</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63834#p63834"/>
<title type="html"><![CDATA[Re: PetitFS - zapis do pliku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63834#p63834"><![CDATA[
Nie chodziło mi tutaj nad zapisem danych z prędkością kałasznikowa bez chwili wytchnienia <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Robię właśnie prosty logger i wykonywałem testy z plikiem do miesięcznego zapisu co 10 minut. Jeśli miesiąc się kończy, to chciałem wyczyścić ten plik (czyli wypełnić go całego znakami 0xA0), i właśnie ta operacja potrzebowała sporo czasu.<br /><br />Ale już zrobiłem sobie workarounda, robię to w ten sposób, że na końcu dopisywanego do pliku pojedynczego rekordu dodaje właśnie jeden znak 0xA0, a jak plik się skończy to robię skok na początek pliku i tam już zaraz na mnie czeka znak 0xA0 i funkcja append radzi sobie mimo tego, że reszta znaków jest inna.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=393">savian86</a> — 4 sty 2014, o 22:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-01-04T21:04:21+01:00</updated>
<published>2014-01-04T21:04:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63822#p63822</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63822#p63822"/>
<title type="html"><![CDATA[Re: PetitFS - zapis do pliku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63822#p63822"><![CDATA[
ten wymyślony przeze mnie sposób zapisu jest i będzie zawsze wolny - nadaje się do loggerów które nie mają zbyt dużych wymagań pod tym względem i opisywałem wady tego rozwiązania ... <br /><br />Przyśpieszenie ? ... tak ale to już FarFS<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 4 sty 2014, o 21:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[savian86]]></name></author>
<updated>2014-01-04T18:23:01+01:00</updated>
<published>2014-01-04T18:23:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63808#p63808</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63808#p63808"/>
<title type="html"><![CDATA[Re: PetitFS - zapis do pliku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=63808#p63808"><![CDATA[
Dzisiaj wróciłem do problemu, udało mi się z nim poradzić, jednak wypełnianie pliku danymi jest powolne. Obecnie robię to wg tego schematu:<br /><br />- Inicjalizacja karty<br />- zapis (sektor)<br />- Inicjalizacja karty<br />- zapis (sektor+ 1)<br />- Inicjalizacja karty<br />- zapis (sektor+ 2)<br />- itd..<br /><br /><br />Chciałem się poradzić czy wykorzystując PetitFS możliwe jest uzyskanie zapisu wg poniższego (co by przyspieszyło całość):<br /><br />- Inicjalizacja karty<br />- zapis (sektor)<br />- zapis (sektor+ 1)<br />- zapis (sektor+ 2)<br />- itd...<br /><br />Niestety z osiągnięciem celu wg drugiego schematu coś nie mogę sobie poradzić.<br /><br />---------<br />Ok, już ogarnąłem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=393">savian86</a> — 4 sty 2014, o 18:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[savian86]]></name></author>
<updated>2013-11-11T18:44:49+01:00</updated>
<published>2013-11-11T18:44:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=56389#p56389</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=56389#p56389"/>
<title type="html"><![CDATA[PetitFS - zapis do pliku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4749&amp;p=56389#p56389"><![CDATA[
Cześć, wziąłem na tapetę obsługę karty SD z bibliotekami PetitFS (baza to lekcja 17 z GB) utworzyłem sobie plik bazowy, do niego dopisuje dane wykorzystując funkcję <strong>mk_pf_file_append()</strong> i jest gitara.<br /><br />Chciałem natomiast stworzyć funkcję która czyściłaby ten plik bazowy, tzn na nowo wypełniła go całego znakiem 0xA0. Problem mam taki, że jak zabieram się za wypełnianie pliku to wykona się zapis tylko jednego sektora (nie musi być on zerowy, wskazany) i funkcja <strong>pf_write()</strong> zwraca <strong>FR_DISK_ERR</strong> i następny zapis nie udaje się. Podpowiedzcie gdzie robię byka.<br /><br />[syntax=c]sd_pwr(0);// odłączamy zasilanie karty<br />_delay_ms(100);<br />sd_pwr(1);// podłączamy zasilanie karty<br /><br /><br />res = mk_sd_init();// inicjalizacja karty<br />if( res ) return res;<br /><br />res = mk_mount(wfs);  // montowanie volumenu<br />if( res ) return res;<br /><br />res = mk_open(fname);// otwarcie pliku<br />if( res ) return res;<br /><br />for(i=0; i&lt;512; i++) bf&#91;i&#93;=ch; //wypelnienie calego bufora znakiem do zapisu np: 0xA0<br /><br />i=0;<br />While(1)<br />{<br />tmr=1000; res=100;<br />while( pf_lseek(i*512UL) &amp;&amp; tmr-- );<br />if(!tmr) break;<br /><br />i++;<br />res = pf_write(&amp;bf&#91;0&#93;, 512, &amp;rb);<br /><br />//lcd_cls(); lcd_str(&quot;byte: &quot;); lcd_int(rb); <br />//lcd_locate(1,0); lcd_str(&quot;i: &quot;); lcd_int(i); _delay_ms(1000);<br />if( res ) return res;<br />}<br /><br />disk_initialize();<br />return res;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=393">savian86</a> — 11 lis 2013, o 18:44</p><hr />
]]></content>
</entry>
</feed>