Auteur Sujet: Teensy 3.1, 3.2 - Sonorisation locomotive  (Lu 1217 fois)

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 802
    • Voir le profil
Re : Teensy 3.1, 3.2 - Sonorisation locomotive
« Réponse #75 le: janvier 24, 2018, 12:24:29 pm »
5V tolérant c'est pour les entrées. Ça signifie que bien que le MCU soit alimenté en 3,3V il tolère que le niveau haut d'un signal numérique appliqué sur une entrée puisse atteindre 5V. Mais en aucun cas il ne peut être alimenté au delà de 3,3V (nominal)
« Modifié: janvier 27, 2018, 09:13:40 am par Jean-Luc »

Benoit92

  • Full Member
  • ***
  • Messages: 131
    • Voir le profil
Re : Teensy 3.1, 3.2 - Sonorisation locomotive
« Réponse #76 le: janvier 26, 2018, 08:15:46 pm »
En attendant de recevoir les mémoires Flash (W25Q64B/mémoire FLASH module/SPI Interface), je me pose quelques questions.
1) Comment charger la mémoire ?
A travers le Teensy ou avec un support avec interface USB type :
https://www.ebay.fr/itm/EZP2013-USB-Programmer-SPI-24-25-93-EEPROM-Flash-Bios-Chip-Software-Socket/131816395066?hash=item1eb0de913a:g:esoAAOSw9VZXOY62

2) Concernant les fichiers (*.wav convertit avec "wav2trw_16" en *.raw), j'ai vu dans des exemples que l’adresse du début du fichier  ? ou la taille du fichier? est indiqué (0xF8A00) par exemple :
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <NmraDcc.h>
#include <Servo.h>
//#include <SD.h>
//#include <Bounce.h>
#include <play_serialflash.h>

//16 Bit RAW - Converted with wav2trw -16
const unsigned int AudioSampleStandby = 0xF8A00;          //TBD Length - AudioSampleStandby.raw
const unsigned int AudioSampleSteam = 0;                  //TBD Length - AudioSampleSteam.raw
const unsigned int AudioSampleCompressor = 0xD0B00;       //TBD Length - AudioSampleCompressor.raw
const unsigned int AudioSampleAirRelease =  0xDCD00;      //TBD Length - AudioSampleAirRelease.raw
const unsigned int AudioSampleBell = 0x9500;              //TBD Length - AudioSampleBell.raw
const unsigned int AudioSampleWhistle = 0xE2100;          //TBD Length - AudioSampleWhistle.raw
const unsigned int AudioSampleShoveling = 0xE2100;        //TBD Length - AudioSampleShoveling.raw

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 802
    • Voir le profil
Re : Teensy 3.1, 3.2 - Sonorisation locomotive
« Réponse #77 le: janvier 27, 2018, 09:21:53 am »
1) ça peut se faire avec le Teensy. Regarde cet example de SerialFlash https://github.com/PaulStoffregen/SerialFlash/blob/master/examples/CopyFromSerial/CopyFromSerial.ino il y a un script python qui discute avec la Teensy via la ligne série et lui envoie le fichier : https://github.com/PaulStoffregen/SerialFlash/tree/master/extras

2) Je ne sais pas il faudrait regarder où ces constantes sont utilisées mais des deux c’est plus probablement la taille

Benoit92

  • Full Member
  • ***
  • Messages: 131
    • Voir le profil
Re : Teensy 3.1, 3.2 - Sonorisation locomotive
« Réponse #78 le: janvier 28, 2018, 12:18:18 am »
Si je comprends bien, j'installe en premier rawfile-uploader.py sur le teensy  (https://github.com/PaulStoffregen/SerialFlash/blob/master/extras/rawfile-uploader.py), mais, je ne sais pas :

1) dans quelle répertoire du PC mettre mes fichiers *.raw (après conversion avec "wav2trw_16").

2) sous quelle forme, ces fichiers sont enregistrés dans la flash ?

3) quel est le mécanisme qui évite d'écraser les données dans la flash ?

3) pour lire la Flash, le nom du fichier est suffisant ou il faut spécifier des tailles ou des adresse de début de fichier)

J'ai essayé de regarder sur certains sites (dont ceux de PaulStoffregen), mais cela ne me parait pas très clair.

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 802
    • Voir le profil
Re : Teensy 3.1, 3.2 - Sonorisation locomotive
« Réponse #79 le: janvier 28, 2018, 10:14:52 am »
Non pas du tout.

Sur le Teensy le sketch CopyFromSerial doit être chargé. Ce sketch reçoit les données à mettre dans la flash de l’USB/série et les écrit dans la flash. Note qu’il efface la flash avant.

Sur ton PC, tu lances via l’invite de commande rawfile_uploader.py. Ce script python prend au moins 2 arguments, le premier est le port série où est connecté le Teensy et le second le fichier à envoyer ; on peut mettre plusieurs fichiers. Le script envoie donc les fichiers au sketch qui les écrit dans la flash. Note que le nom des fichiers est limité à 8 caractères plus 3 caractères d’extension. Il faut également mettre à la ligne 29 la taille de la flash en M octets (8 pour la flash en question)

1) où tu veux, le mieux est d’y mettre aussi le script et de travailler ensuite dans ce répertoire.

2) binaire, juste les octets qui constituent le son.

3) la bibliothèque SerialFlash gère un système de fichiers rudimentaire.

4) la bibliothèque gère un catalogue, donc le nom de fichier suffit. Regarde les exemples. Regarde également le script python.

Benoit92

  • Full Member
  • ***
  • Messages: 131
    • Voir le profil
Re : Teensy 3.1, 3.2 - Sonorisation locomotive
« Réponse #80 le: janvier 28, 2018, 06:50:04 pm »
Merci beaucoup pour ta patience !