Subversion Repositories pentevo

Rev

Rev 915 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #include "pff.h"                /* Petit FatFs configurations and declarations */
  2. #include <avr/io.h>
  3. #include <util/delay.h>
  4. #include "../pins.h"
  5.  
  6. extern BYTE dbuf[];
  7.  
  8. void rs232_transmit(BYTE data);
  9. void to_log(char* ptr);
  10. void put_buffer(WORD size);
  11.  
  12. FATFS fs;
  13. DIR dir;
  14. FILINFO fi;
  15. void pff_test(void){
  16.         UINT res;
  17.         do
  18.         {
  19.                 res = pf_mount(&fs);
  20.                         to_log("\r\npf_mount: ");
  21.                         rs232_transmit(res + '0');
  22.                 if(res){
  23.                         continue;
  24.                
  25.                 }
  26.                 // power led OFF
  27.                 LED_PORT |= 1<<LED;
  28.  
  29.                 DDRF |= (1<<nCONFIG); // pull low for a time
  30.                 _delay_ms(20);
  31.                 DDRF &= ~(1<<nCONFIG);
  32.                 while( !(PINF & (1<<nSTATUS)) ); // wait ready
  33.                 res = pf_open("TOP.RBF");
  34.                         to_log("\r\npf_open: ");
  35.                         rs232_transmit(res + '0');
  36.                 if(res){
  37.                         continue;
  38.                
  39.                 }
  40.                 to_log("\r\npf_read");
  41.                 while(pf_read(dbuf, 2048, &res)==0x00){
  42.                         rs232_transmit('.');
  43.                         if(res == 0x0000) break;
  44.                         put_buffer(res);
  45.                 }
  46.                 LED_PORT &= ~(1<<LED);
  47.                 _delay_ms(20);
  48.         } while( !(CONF_DONE_PIN & (1<<CONF_DONE)) );
  49.                
  50.         /*
  51.         rs232_transmit(pf_opendir(&dir,"")+'0');
  52.         to_log("\r\nread dir:\r\n");
  53.         while(1){
  54.                 pf_readdir(&dir, &fi);
  55.                 if(fi.fname[0]==0x00) break;
  56.                 to_log(fi.fname);
  57.         to_log("\r\n");
  58.         }
  59.         */
  60. }