64 lines
2.2 KiB
C
64 lines
2.2 KiB
C
![]() |
/*
|
||
|
* c't-Bot
|
||
|
*
|
||
|
* This program is free software; you can redistribute it
|
||
|
* and/or modify it under the terms of the GNU General
|
||
|
* Public License as published by the Free Software
|
||
|
* Foundation; either version 2 of the License, or (at your
|
||
|
* option) any later version.
|
||
|
* This program is distributed in the hope that it will be
|
||
|
* useful, but WITHOUT ANY WARRANTY; without even the implied
|
||
|
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||
|
* PURPOSE. See the GNU General Public License for more details.
|
||
|
* You should have received a copy of the GNU General Public
|
||
|
* License along with this program; if not, write to the Free
|
||
|
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||
|
* MA 02111-1307, USA.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
/*! @file mini-fat.h
|
||
|
* @brief Routinen zum Auffinden von markierten Files auf einer MMC-Karte.
|
||
|
* Dies ist keine vollstaendige FAT-Unterstuetzung, sondern sucht nur eien Datei, die mit einer 3-Zeichen Sequenz beginnt.
|
||
|
* @author Benjamin Benz (bbe@heise.de)
|
||
|
* @author Ulrich Radig (mail@ulrichradig.de) www.ulrichradig.de
|
||
|
* @date 07.11.06
|
||
|
*/
|
||
|
|
||
|
#ifndef MINIFAT_H_
|
||
|
#define MINIFAT_H_
|
||
|
|
||
|
#include "ct-Bot.h"
|
||
|
|
||
|
#define MMC_FILENAME_MAX 255 /*!< Maximale Dateienamenlaenge in Zeichen [1;255] */
|
||
|
|
||
|
typedef union{
|
||
|
uint32 u32; // Laenge in 32 Bit
|
||
|
uint8 u8[4]; // laenge in 4 "einzelnen" Bytes
|
||
|
} file_len_t;
|
||
|
|
||
|
#ifdef MINI_FAT_AVAILABLE
|
||
|
|
||
|
/*!
|
||
|
* Sucht einen Block auf der MMC-Karte, dessen erste drei Bytes dem key entsprechen
|
||
|
* liefert dann den folgenden Block zurueck.
|
||
|
* Achtung das prinzip geht nur, wenn die Dateien nicht fragmentiert sind
|
||
|
* @param key 3 Byte zur Identifikation
|
||
|
* @param buffer Zeiger auf 512 Byte Puffer im SRAM
|
||
|
*/
|
||
|
uint32 mini_fat_find_block(const char key[3], uint8* buffer);
|
||
|
|
||
|
#endif
|
||
|
|
||
|
#ifdef PC
|
||
|
/*! Erzeugt eine Datei, die an den ersten 3 Byte die ID- enthaelt. dann folgen 512 - sizeof(id) nullen
|
||
|
* Danach kommen so viele size kByte Nullen
|
||
|
* @param filename Der Dateiname der zu erzeugenden Datei
|
||
|
* @param id_string Die ID des Files, wie sie zu beginn steht
|
||
|
* @param size kByte Nutzdaten, die der MCU spaeter beschreiben darf
|
||
|
*/
|
||
|
void create_mini_fat_file(const char* filename, const char* id_string, uint32 size);
|
||
|
#endif
|
||
|
|
||
|
#endif /*MINIFAT_H_*/
|