Il faut que je cable tout çà pour tester.
Je vous tiendrai au jus
23 résultats trouvés
- 03 janv. 2016 12:38
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
- 03 janv. 2016 11:02
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
Problème de compilation SIO2Arduino [Résolu !!!!]
si lors de la compilation vous avez des erreurs du type
Le soucis viens des dernières version de l'IDE v1.6.7 aussi bien sous Windows que Linux (les deux testées)
j'ai repris la version 1.0.1 sous windows et là miracle pas de bug !!!
Désolé [Antique] et [Sir thierry] de vous avoir fait perdre autant de temps (mais bon ça en fera peut être gagner à d'autre).
Donc résumons
Pour compiler le projet SIO2Arduino
1-Telecharger la version standalone de l'IDE v1.0.1 ici https://arduino.googlecode.com/files/ar ... indows.zip
2-Telecharger la librairie Sdfat sur https://github.com/greiman/SdFat l'installer via l'IDE
3-Telecharger le projet disponible sur http://whizzosoftware.com/sio2arduino/
4-Effectuer le patch rapporté par [antique]
Dans le fichier SIO2Arduino.ino
#include "config.h"
Ajouter #define USE_SD_VOLUME
#include <SdFat.h>
#include <SdFatUtil.h>
Ajouter #include <SdVolume.h>
#include "atari.h"
puis remplacer
file.getFilename(name); par file.getName(name,13);
-----------------------------------------------------------------
puis dans le fichier diskimage.cpp
remplacer
file->getFilename((char*)&filename); par file->getName((char*)&filename,13);
5-Compiler !!! Yeah!
Have fun!
si lors de la compilation vous avez des erreurs du type
Code : Tout sélectionner
SIO2Arduino:38: error: 'getDeviceStatus' was not declared in this scope
DriveAccess driveAccess(getDeviceStatus, readSector, writeSector, format);
Le soucis viens des dernières version de l'IDE v1.6.7 aussi bien sous Windows que Linux (les deux testées)
j'ai repris la version 1.0.1 sous windows et là miracle pas de bug !!!
Désolé [Antique] et [Sir thierry] de vous avoir fait perdre autant de temps (mais bon ça en fera peut être gagner à d'autre).
Donc résumons
Pour compiler le projet SIO2Arduino
1-Telecharger la version standalone de l'IDE v1.0.1 ici https://arduino.googlecode.com/files/ar ... indows.zip
2-Telecharger la librairie Sdfat sur https://github.com/greiman/SdFat l'installer via l'IDE
3-Telecharger le projet disponible sur http://whizzosoftware.com/sio2arduino/
4-Effectuer le patch rapporté par [antique]
Dans le fichier SIO2Arduino.ino
#include "config.h"
Ajouter #define USE_SD_VOLUME
#include <SdFat.h>
#include <SdFatUtil.h>
Ajouter #include <SdVolume.h>
#include "atari.h"
puis remplacer
file.getFilename(name); par file.getName(name,13);
-----------------------------------------------------------------
puis dans le fichier diskimage.cpp
remplacer
file->getFilename((char*)&filename); par file->getName((char*)&filename,13);
5-Compiler !!! Yeah!
Have fun!
- 03 janv. 2016 09:31
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
Sur le site Diskwiz il n'y a que le fichier Hex pour ce projet. je comptai modifier le source pour utiliser un ecran de nokia 5110. De plus comme tu disais il faut commander un Flasheur de bootstrap (par cher chez les chinois!) mais délais de 20j. Si de ton coté tu as un source je suis preneur. MerciSir thierry a écrit :pourquoi n'utilises tu pas la version sio2microSD comme déjà vu plus haut
- 02 janv. 2016 15:57
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
Merci
Avant d'effectuer tes modif du ino et ccp [antique@] j'avais les même erreurs. je m'absente à +
Avant d'effectuer tes modif du ino et ccp [antique@] j'avais les même erreurs. je m'absente à +
- 02 janv. 2016 14:48
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
Je n'y crois pas
VMWare > Lubuntu> Arduino IDE > Sdfat.zip fichier envoyé par email de [antique] installation via IDE arduino ajout librairie zip>
fichier sio2arduino telechargé de github
les modifs suivantes appliquées
l'année commence mal !!!!
VMWare > Lubuntu> Arduino IDE > Sdfat.zip fichier envoyé par email de [antique] installation via IDE arduino ajout librairie zip>
fichier sio2arduino telechargé de github
les modifs suivantes appliquées
et toujours les mêmes erreursAntique a écrit : http://www.kernelcrash.com/blog/arduino ... 015/09/08/, j'essaye d'expliquer (avant de zapper):
on charge la derniere lib du sd fat : https://github.com/greiman/SdFat
on remplace dans le fichier .ino (dans le dossier du sio2arduino)
- file.getFilename(name); par file.getName(name,13);
et dans le fichier diskimage.cpp (toujours dans le dossier sio2arduino)
- file->getFilename((char*)&filename); par file->getName((char*)&filename,13);
et dans l'en tête du fichier .ino on ajoute (les lignes en rouge) :
#include "config.h"
#define USE_SD_VOLUME
#include <SdFat.h>
#include <SdFatUtil.h>
#include <SdVolume.h>
#include "atari.h"
l'année commence mal !!!!
- 02 janv. 2016 11:16
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
merci pour test et précisions
j'ai essayé sur un vieux windows XP mais meme soucis donc je vais faire une VM sous ubuntu
j'ai essayé sur un vieux windows XP mais meme soucis donc je vais faire une VM sous ubuntu
- 02 janv. 2016 11:04
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
MerciAntique a écrit :pour être sur d’être certain j'ai rechargé le source sio2arduino (du lien que je t'ai mis un peu avant), j'ai changé le .ino et le .cpp par tes versions et j'ai tout compilé, c'est toujours ok, donc de ce coté la pas de soucis.
de ton coté tu arrive à compiler l'exemple de la sdfatlib donc ça devrait être ok, je vais quand même tenter de la refaire de mon coté pour être sur ...
juste une question de newbie
l'erreur de compil pointe plutot vers des variables de driveaccess.cpp et drivecontrol.cpp alors pourquoi on cherche vers sdfat?
- 02 janv. 2016 10:13
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
j'ai donc déplacé tout le contenu de sdfat dans le dossier de mon projet et changer tous les #include <...> par #include "..." afin de donner le chemin du projet.Antique a écrit :un truc simple que tu peux tester c'est de copier le contenu de sdfat.lib dans le dossier ou tu as ton .ino, il me semble que j'avais eu un soucis une fois avec une lib ...
Meme probleme
- 02 janv. 2016 09:24
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
Comme dit un peu plus haut j'ai testé la librairie Sdfat avec un exemple fourni avec et elle fonctionne très bien (log fournis plus haut)
j'ai tout de même essayé ce que tu m'a dit [antique] : importer la librairie zip par l'IDE
même résultat
[antique] as tu modifié d'autres fichiers (a part SIO2Arduino.ino, Config.h et diskimage.cpp)du projet dispo sur https://github.com/whizzosoftware/SIO2Arduino ?
j'ai tout de même essayé ce que tu m'a dit [antique] : importer la librairie zip par l'IDE
même résultat
[antique] as tu modifié d'autres fichiers (a part SIO2Arduino.ino, Config.h et diskimage.cpp)du projet dispo sur https://github.com/whizzosoftware/SIO2Arduino ?
- 01 janv. 2016 22:30
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
j'ai testé la librairie sdfat avec un exemple livré avec
tout se passe bien le moniteur m'indique bien les infos de la carte
je commence à etre totalement perdu
Code : Tout sélectionner
/*
* This program attempts to initialize an SD card and analyze its structure.
*/
#include <SPI.h>
#include <SdFat.h>
/*
* SD chip select pin. Common values are:
*
* Arduino Ethernet shield, pin 4.
* SparkFun SD shield, pin 8.
* Adafruit SD shields and modules, pin 10.
* Default SD chip select is the SPI SS pin.
*/
const uint8_t SD_CHIP_SELECT = 4;
/*
* Set DISABLE_CHIP_SELECT to disable a second SPI device.
* For example, with the Ethernet shield, set DISABLE_CHIP_SELECT
* to 10 to disable the Ethernet controller.
*/
const int8_t DISABLE_CHIP_SELECT = 10;
SdFat sd;
// serial output steam
ArduinoOutStream cout(Serial);
// global for card size
uint32_t cardSize;
// global for card erase size
uint32_t eraseSize;
//------------------------------------------------------------------------------
// store error strings in flash
#define sdErrorMsg(msg) sdErrorMsg_F(F(msg));
void sdErrorMsg_F(const __FlashStringHelper* str) {
cout << str << endl;
if (sd.card()->errorCode()) {
cout << F("SD errorCode: ");
cout << hex << int(sd.card()->errorCode()) << endl;
cout << F("SD errorData: ");
cout << int(sd.card()->errorData()) << dec << endl;
}
}
//------------------------------------------------------------------------------
uint8_t cidDmp() {
cid_t cid;
if (!sd.card()->readCID(&cid)) {
sdErrorMsg("readCID failed");
return false;
}
cout << F("\nManufacturer ID: ");
cout << hex << int(cid.mid) << dec << endl;
cout << F("OEM ID: ") << cid.oid[0] << cid.oid[1] << endl;
cout << F("Product: ");
for (uint8_t i = 0; i < 5; i++) {
cout << cid.pnm[i];
}
cout << F("\nVersion: ");
cout << int(cid.prv_n) << '.' << int(cid.prv_m) << endl;
cout << F("Serial number: ") << hex << cid.psn << dec << endl;
cout << F("Manufacturing date: ");
cout << int(cid.mdt_month) << '/';
cout << (2000 + cid.mdt_year_low + 10 * cid.mdt_year_high) << endl;
cout << endl;
return true;
}
//------------------------------------------------------------------------------
uint8_t csdDmp() {
csd_t csd;
uint8_t eraseSingleBlock;
if (!sd.card()->readCSD(&csd)) {
sdErrorMsg("readCSD failed");
return false;
}
if (csd.v1.csd_ver == 0) {
eraseSingleBlock = csd.v1.erase_blk_en;
eraseSize = (csd.v1.sector_size_high << 1) | csd.v1.sector_size_low;
} else if (csd.v2.csd_ver == 1) {
eraseSingleBlock = csd.v2.erase_blk_en;
eraseSize = (csd.v2.sector_size_high << 1) | csd.v2.sector_size_low;
} else {
cout << F("csd version error\n");
return false;
}
eraseSize++;
cout << F("cardSize: ") << 0.000512*cardSize;
cout << F(" MB (MB = 1,000,000 bytes)\n");
cout << F("flashEraseSize: ") << int(eraseSize) << F(" blocks\n");
cout << F("eraseSingleBlock: ");
if (eraseSingleBlock) {
cout << F("true\n");
} else {
cout << F("false\n");
}
return true;
}
//------------------------------------------------------------------------------
// print partition table
uint8_t partDmp() {
cache_t *p = sd.vol()->cacheClear();
if (!p) {
sdErrorMsg("cacheClear failed");
return false;
}
if (!sd.card()->readBlock(0, p->data)) {
sdErrorMsg("read MBR failed");
return false;
}
for (uint8_t ip = 1; ip < 5; ip++) {
part_t *pt = &p->mbr.part[ip - 1];
if ((pt->boot & 0X7F) != 0 || pt->firstSector > cardSize) {
cout << F("\nNo MBR. Assuming Super Floppy format.\n");
return true;
}
}
cout << F("\nSD Partition Table\n");
cout << F("part,boot,type,start,length\n");
for (uint8_t ip = 1; ip < 5; ip++) {
part_t *pt = &p->mbr.part[ip - 1];
cout << int(ip) << ',' << hex << int(pt->boot) << ',' << int(pt->type);
cout << dec << ',' << pt->firstSector <<',' << pt->totalSectors << endl;
}
return true;
}
//------------------------------------------------------------------------------
void volDmp() {
cout << F("\nVolume is FAT") << int(sd.vol()->fatType()) << endl;
cout << F("blocksPerCluster: ") << int(sd.vol()->blocksPerCluster()) << endl;
cout << F("clusterCount: ") << sd.vol()->clusterCount() << endl;
cout << F("freeClusters: ");
uint32_t volFree = sd.vol()->freeClusterCount();
cout << volFree << endl;
float fs = 0.000512*volFree*sd.vol()->blocksPerCluster();
cout << F("freeSpace: ") << fs << F(" MB (MB = 1,000,000 bytes)\n");
cout << F("fatStartBlock: ") << sd.vol()->fatStartBlock() << endl;
cout << F("fatCount: ") << int(sd.vol()->fatCount()) << endl;
cout << F("blocksPerFat: ") << sd.vol()->blocksPerFat() << endl;
cout << F("rootDirStart: ") << sd.vol()->rootDirStart() << endl;
cout << F("dataStartBlock: ") << sd.vol()->dataStartBlock() << endl;
if (sd.vol()->dataStartBlock() % eraseSize) {
cout << F("Data area is not aligned on flash erase boundaries!\n");
cout << F("Download and use formatter from www.sdsd.card()->org/consumer!\n");
}
}
//------------------------------------------------------------------------------
void setup() {
Serial.begin(9600);
while(!Serial) {} // wait for Leonardo
// use uppercase in hex and use 0X base prefix
cout << uppercase << showbase << endl;
// pstr stores strings in flash to save RAM
cout << F("SdFat version: ") << SD_FAT_VERSION << endl;
if (DISABLE_CHIP_SELECT < 0) {
cout << F(
"\nAssuming the SD is the only SPI device.\n"
"Edit DISABLE_CHIP_SELECT to disable another device.\n");
} else {
cout << F("\nDisabling SPI device on pin ");
cout << int(DISABLE_CHIP_SELECT) << endl;
pinMode(DISABLE_CHIP_SELECT, OUTPUT);
digitalWrite(DISABLE_CHIP_SELECT, HIGH);
}
cout << F("\nAssuming the SD chip select pin is: ") <<int(SD_CHIP_SELECT);
cout << F("\nEdit SD_CHIP_SELECT to change the SD chip select pin.\n");
}
//------------------------------------------------------------------------------
void loop() {
// read any existing Serial data
while (Serial.read() >= 0) {}
// pstr stores strings in flash to save RAM
cout << F("\ntype any character to start\n");
while (Serial.read() <= 0) {}
delay(400); // catch Due reset problem
uint32_t t = millis();
// initialize the SD card at SPI_HALF_SPEED to avoid bus errors with
// breadboards. use SPI_FULL_SPEED for better performance.
if (!sd.cardBegin(SD_CHIP_SELECT, SPI_HALF_SPEED)) {
sdErrorMsg("\ncardBegin failed");
return;
}
t = millis() - t;
cardSize = sd.card()->cardSize();
if (cardSize == 0) {
sdErrorMsg("cardSize failed");
return;
}
cout << F("\ninit time: ") << t << " ms" << endl;
cout << F("\nCard type: ");
switch (sd.card()->type()) {
case SD_CARD_TYPE_SD1:
cout << F("SD1\n");
break;
case SD_CARD_TYPE_SD2:
cout << F("SD2\n");
break;
case SD_CARD_TYPE_SDHC:
if (cardSize < 70000000) {
cout << F("SDHC\n");
} else {
cout << F("SDXC\n");
}
break;
default:
cout << F("Unknown\n");
}
if (!cidDmp()) {
return;
}
if (!csdDmp()) {
return;
}
uint32_t ocr;
if (!sd.card()->readOCR(&ocr)) {
sdErrorMsg("\nreadOCR failed");
return;
}
cout << F("OCR: ") << hex << ocr << dec << endl;
if (!partDmp()) {
return;
}
if (!sd.fsBegin()) {
sdErrorMsg("\nFile System initialization failed.\n");
return;
}
volDmp();
}
Code : Tout sélectionner
SdFat version: 20150324
Disabling SPI device on pin 10
Assuming the SD chip select pin is: 4
Edit SD_CHIP_SELECT to change the SD chip select pin.
type any character to start
init time: 10 ms
Card type: SD2
Manufacturer ID: 0X3
OEM ID: SD
Product: SU02G
Version: 8.0
Serial number: 0XF3E70871
Manufacturing date: 10/2009
cardSize: 1977.61 MB (MB = 1,000,000 bytes)
flashEraseSize: 32 blocks
eraseSingleBlock: true
OCR: 0X80FF8000
SD Partition Table
part,boot,type,start,length
1,0X0,0X6,135,3858489
2,0X0,0X0,0,0
3,0X0,0X0,0,0
4,0X0,0X0,0,0
Volume is FAT16
blocksPerCluster: 64
clusterCount: 60280
freeClusters: 60278
freeSpace: 1975.19 MB (MB = 1,000,000 bytes)
fatStartBlock: 143
fatCount: 2
blocksPerFat: 236
rootDirStart: 615
dataStartBlock: 647
Data area is not aligned on flash erase boundaries!
Download and use formatter from www.sdsd.card()->org/consumer!
type any character to start
- 01 janv. 2016 21:28
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
Je débute en C++
ne faut-il pas déclarer getDeviceStatus, readSector, writeSector, format avant la ligne
le pb ne vient-il pas du compilateur (j'utilise l'outil gratuit du site Arduiono.cc)?
qu'utilises tu [antique] sous linux ?
ne faut-il pas déclarer getDeviceStatus, readSector, writeSector, format avant la ligne
Code : Tout sélectionner
DriveAccess driveAccess(getDeviceStatus, readSector, writeSector, format);
qu'utilises tu [antique] sous linux ?
- 01 janv. 2016 21:14
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
Toujours le même problème.
ça va finir en cacahuète !!
ça va finir en cacahuète !!
- 01 janv. 2016 20:49
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
surement encore un problème de Windaube.
je bosse actuellement sur un portable win7 64 bits je vais désinstaller l'IDE et réinstaller proprement.
Merci de votre patience. Je vous tiens au jus dans une dizaine de minutes
je bosse actuellement sur un portable win7 64 bits je vais désinstaller l'IDE et réinstaller proprement.
Merci de votre patience. Je vous tiens au jus dans une dizaine de minutes
- 01 janv. 2016 19:41
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
merci les gars
je vais tester tous ça et faire tourner mes méninges
Bon ap
je vais tester tous ça et faire tourner mes méninges
Bon ap
- 01 janv. 2016 17:07
- Forum : Atari 8bits
- Sujet : SIO2Arduino ( microSD )
- Réponses : 144
- Vues : 165927
Re: SIO2Arduino ( microSD )
Merci [antique de te pencher sur mon problème]
ça dois fair 10 fois que je redecompresse la librairie , la renomme et le colle dans dossier librairies
j'ai essayé
C:\Users\-\Documents\Arduino\libraries\SdFat
et
C:\Program Files (x86)\Arduino\libraries
voici le contenu du dossier
dans le log de compilation à la derniere ligne il me dit que la librairie est bien trouvée
peux-tu m'envoyer stp par MP ton dossier sdfat et ton .INO
ça dois fair 10 fois que je redecompresse la librairie , la renomme et le colle dans dossier librairies
j'ai essayé
C:\Users\-\Documents\Arduino\libraries\SdFat
et
C:\Program Files (x86)\Arduino\libraries
voici le contenu du dossier
Code : Tout sélectionner
R‚pertoire de C:\Users\-\Documents\Arduino\libraries\SdFat
01/01/2016 17:02 <REP> .
01/01/2016 17:02 <REP> ..
24/03/2015 08:26 <REP> examples
01/01/2016 17:02 0 lst.txt
24/03/2015 08:26 2ÿ188 MinimumSerial.cpp
24/03/2015 08:26 1ÿ562 MinimumSerial.h
24/03/2015 08:26 10ÿ425 SdFat.h
24/03/2015 08:26 3ÿ575 SdFatBase.cpp
24/03/2015 08:26 7ÿ034 SdFatConfig.h
24/03/2015 08:26 14ÿ526 SdFatmainpage.h
24/03/2015 08:26 1ÿ687 SdFatUtil.cpp
24/03/2015 08:26 2ÿ295 SdFatUtil.h
24/03/2015 08:26 13ÿ120 SdInfo.h
24/03/2015 08:26 10ÿ115 SdSpi.h
24/03/2015 08:26 18ÿ421 SdSpiCard.cpp
24/03/2015 08:26 9ÿ919 SdSpiCard.h
24/03/2015 08:26 7ÿ775 SdSpiSAM3X.cpp
24/03/2015 08:26 5ÿ518 SdSpiSTM32F1.cpp
24/03/2015 08:26 8ÿ695 SdSpiTeensy3.cpp
24/03/2015 08:26 2ÿ350 SdVolume.h
24/03/2015 08:26 <REP> utility
Code : Tout sélectionner
Using library SdFat in folder: C:\Users\-\Documents\Arduino\libraries\SdFat (legacy)