RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/OLED

Ici on parle de Raspberry PI, Sparky, Odroid... avec des solutions comme Squeezelite, MPD, Max2Play... ainsi que leur DAC et accessoires dédiés
All4linux
Messages : 35
Inscription : sam. 09 avr. 2016 08:30

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par All4linux » lun. 11 avr. 2016 06:54

Bonjour,

Pourrait-on avoir un récapitulatif de ce qui a été fait et qui fonctionne ?
J'ai tout installé en suivant les procédures mais je n'ai toujours pas d'affichage.

Merci de votre aide.

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » lun. 11 avr. 2016 13:13

Bonjour,

Alors "vue de ma fenêtre", deux aspects:
- Gestion OLED
Je dois avoir des problèmes de connexion / soudure que je dois vérifier: cela fonctionnait bien au début mais depuis un moment l'affichage est aléatoire chez moi.
En tous cas au début:
* Script d'audiophonics "16x2_oled_volumio.py": Ok
* Script de mc002: je n'ai pas testé
* Script de dhrone: Ok, jusqu'à la dernière version qui gère parfaitement les accents.

C'est "vu de ma fenêtre": Il ne semble pas y avoir beaucoup de retours ici...
Pour mes affichages aléatoires, dhrone indique qu'il les a eu un temps et ne les a plus et reggieb a signalé des affichages bizarres aussi mais n'est pas revenu ... Ce qui m'incite donc à faire des vérifications de mon côté :?:

- Distributions sur le RPI / Reconnaissance du DAC:
* Volumio 1.55 Ok
* Volumio 2 RC Ko (enfin, des problèmes semble-t-il)
* RuneAudio 0.3 beta (sensée fonctionner sur RPI3 aussi): Je l'ai testé hier ... et çà fonctionne Ok avec des manipulations un peu différentes par rapport à volumio (RaspBian vs ArchLinux)

J'ai cet équipement http://www.audiophonics.fr/fr/appareils ... 10369.html" onclick="window.open(this.href);return false;

Voilà, c'est de la "synthèse de post" ou je m'y connais pas ... :)

Merci, @+
edit: corrections mineures et de fottes
Dernière modification par Cram28 le lun. 11 avr. 2016 20:45, modifié 1 fois.

All4linux
Messages : 35
Inscription : sam. 09 avr. 2016 08:30

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par All4linux » lun. 11 avr. 2016 13:51

Merci cram28 pour ton retour,

Je n'ai pas d'affichage. j'ai pourtant bien effectuer la procédure à la lettre.
Je vais tout réinitialiser et tout réinstaller.
J'ai des soucis de bouton power qui ne marche pas. Qu'en est-il pour toi ?

Bonne journée.

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » lun. 11 avr. 2016 21:05

Bonsoir,
Je n'ai pas d'affichage.
Rien du tout, l'écran reste noir ?

Je n'ai pas de souci avec le bouton, sans doute parce que je ne suis pas doué: En effet, je ne fais pas des soudures, mais des pâtés :oops: (je ne suis pas équipé comme il faut non plus, mais je ne vais pas investir pour 2 soudures par an).

Conséquence, j'ai acquis le matos tout câblé !

D'ailleurs (question pour Audiophonics peut-être ?): Par rapport au schéma de la première page du câblage entre RPI GPIO et l'écran, il me manque un fil "à la masse" entre :

Code : Tout sélectionner

|---OLED Display---|      |---Raspberry Pi---|
| Pin  Description |      | Pin  Description |
...
   5   R/W  <------------>  6   GND
...
En plus de la soudure, je suis aussi une bille en électronique (qui a dit "qu'est qu'il fait ici ?") ... :roll: : C'est grave ? Çà peut expliquer mes soucis d'affichage ?

Merci pour votre aide.

All4linux
Messages : 35
Inscription : sam. 09 avr. 2016 08:30

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par All4linux » mar. 12 avr. 2016 06:29

Cram28,

Ca te dérangerai de faire une photo du câblage interne du bouton power, ca serait utile à pas mal d'entre nous.
Tu me certifies n'avoir aucun problème de démarrage et d’extinction de ton boitier avec l'utilisation du bouton Power ?

Oui pour l'affichage, je n'ai rien, sauf si je débranche le câble d'affichage et que je le rebranche. A ce moment là j'ai plein de caractère illisible qui défile.
Je vais tenter un effacement complet de mon système et une réinstallation complète.

Bonne journée.

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » mar. 12 avr. 2016 20:02

Hello,

Franchement, je tente même pas la photo: on ne voit - moyennement - bien qu'en manipulant l'appareil dans tous les sens... (et j'ai pas envie de démonter, j'ai trop peur de pas savoir refaire comme il faut :( )

J'ai "recopié" et je te propose çà:
InterCablage.png
InterCablage.png (24.66 Kio) Consulté 5376 fois
Si tu as autre chose, dis-moi, je re-re-vérifierais :roll:

Et .... "juré craché", j'ai pas de problème chez moi à éteindre et rallumer ... mais je ne suis pas en position de "certifier" quoi que ce soit :o ...

:wink: @+

Edit: Je suis un boulet: Faut lire NO et pas NC :)
Cà ressemble pas mal à ce schéma-là (donc je dois avoir bon): viewtopic.php?f=4&t=1535

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » mar. 12 avr. 2016 22:19

Re-Hello,

(et pour info)

J'ai donc profité du boîtier ouvert pour "corriger" mon câblage. Bien m'en a pris !!
J'ai "bricolé" un lien entre la broche 5 de l'écran OLED et la masse (il y a une broche "GND" sur la carte DAC que j'ai utilisé).

Et depuis, le script de dhrone marche "du feu de dieu" ! : Les artistes/titres défilent, sans saccades, avec des accents :p
J'en déduis que mon problème d'affichage est dû à ce ... "détail": J'imagine qu'une "patte en l'air" peut être interprétée de façon aléatoire par "0" ou par "1", selon - que sais-je - la durée de fonctionnement, la température, le temps qu'il fait... ??

Je crois bien que là, je lui dit: C'est "0" et pis c'est tout ! On dirait que çà lui va mieux à l'écran...

Pour ceux qui ont des problème d'affichage, vérifier donc le câblage...

De mon côté, va falloir que je m’entraîne à faire des pâtés... propres :D
@+

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » mer. 13 avr. 2016 19:51

Bonsoir le forum,

Un petit retour spécialement pour dhrone :wink: :
Mes problèmes d'affichage sont désormais réglés: J'avais un câblage manquant GPIO / OLED (lien bornes GPIO 6 / OLED 5) qui explique le fonctionnement aléatoire de mon écran dont j'ai parlé plus haut. J'ai rectifié le problème et cela fait plus de 24 heures que le système fonctionne en affichant correctement les informations (y compris tous les caractères "spéciaux" (accentués) sur lesquels je suis tombé) de façon fluide et rapide. Merci encore pour cet excellent programme (https://github.com/dhrone/Raspdac-Display) !!

Maintenant que j'ai réglé ce problème, je m’attelle à la recherche de la solution que tu préconises pour contrôler la taille du fichier de log (logrotate sous Volumio): Cela peut en effet devenir problématique et remplir rapidement la carte MicroSD, d'autant plus chez moi qu'il va fonctionner tout le temps et que j'écoute pas mal de musique... (au pire je le désactiverai).

Pour information, ton programme tourne parfaitement aussi sous RuneAudio / ArchLinux, moyennant une modification tout à fait mineure:
En ligne 309 du fichier "RaspDacDisplay.py", il faut mettre "hostname -i" au lieu de "hostname -I": Sous Volumio / RaspBian cela fonctionne à l'identique avec "i" ou avec "I", contrairement à RuneAudio / ArchLinux qui est apparemment sensible à la case.

Personnellement, je préfère RunAudio à Volumio 1, même s'il est plus long à démarrer (pas grave puisqu'il est destiné à tourner tout le temps). Sur cette distribution, il faut que je trouve l'équivalent du logrotate pour le fichier de log; mais également que je trouve l'équivalent de "/etc/rc.local" pour un lancement automatique au démarrage (première investigation autour de "systemctl").

Je reviendrai décrire les opérations si je m'en sors avec quelque chose de satisfaisant. Toute aide est la bienvenue de la part des pro de ArchLinux :)

Voilà, voilà...

Merci.

[Translate]

Good evening forum,

A small return specifically for dhrone : :wink: :
My display problems are now resolved: I had a missing wiring GPIO / OLED (GPIO link terminals 6 / OLED 5) which explains the random operation of my screen I mentioned above. I corrected the problem and it has been more than 24 hours that the system works properly by displaying information (including any "special" characters (accented) on which I fell) of fluid and fast. Thank you again for a great program (https://github.com/dhrone/Raspdac-Display) !!

Now that I have solved this problem, I brace myself looking for the solution you recommended to control the size of the log file (under Volumio logrotate): This can indeed be problematic and quickly fill the MicroSD card, d all the more at home it will work all the time and I listen a lot of music ... (the worst I will deactivate).

For information, your program also runs perfectly RuneAudio / ArchLinux, for a change quite minor:
In line 309 of file "RaspDacDisplay.py" should be put "hostname -i " instead of "hostname -I " Under Volumio / Raspbian it works to identical with "i" or "I", unlike RuneAudio / ArchLinux which is apparently case sensitive.

Personally, I prefer to RunAudio Volumio 1, even if it takes longer to start (okay since it is designed to run all the time). On this distribution, I have to find the equivalent of logrotate for the log file; and to find the equivalent of "/etc/rc.local" to automatically launch at startup (first investigation around "systemctl").

I will come back describe the operations if I'm doing with something satisfactory. Any help is welcome from the pro ArchLinux :)

Here, here ... (bad translate ??)

Thank you.

All4linux
Messages : 35
Inscription : sam. 09 avr. 2016 08:30

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par All4linux » jeu. 14 avr. 2016 06:17

Bonjour Cram28,

Je vois que tu as réussi à faire fonctionner ton écran. le mien ne s'allume toujours pas et je n'en comprends pas la cause.
Tu possèdes bien le modèle Raspberry Pi 2.0 & DAC Sabre V3 ? Histoire d'être bien en phase ;-)
Tu mentionnes un bidouillage de câble entre le display et la platine Audiophonics, peux-tu faire une photo, il est important pour moi de voir quelle est la modification que tu as effectué.

Merci pour ton aide.

Bonne journée.
Cram28 a écrit :Re-Hello,

(et pour info)

J'ai donc profité du boîtier ouvert pour "corriger" mon câblage. Bien m'en a pris !!
J'ai "bricolé" un lien entre la broche 5 de l'écran OLED et la masse (il y a une broche "GND" sur la carte DAC que j'ai utilisé).

Et depuis, le script de dhrone marche "du feu de dieu" ! : Les artistes/titres défilent, sans saccades, avec des accents :p
J'en déduis que mon problème d'affichage est dû à ce ... "détail": J'imagine qu'une "patte en l'air" peut être interprétée de façon aléatoire par "0" ou par "1", selon - que sais-je - la durée de fonctionnement, la température, le temps qu'il fait... ??

Je crois bien que là, je lui dit: C'est "0" et pis c'est tout ! On dirait que çà lui va mieux à l'écran...

Pour ceux qui ont des problème d'affichage, vérifier donc le câblage...

De mon côté, va falloir que je m’entraîne à faire des pâtés... propres :D
@+

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » jeu. 14 avr. 2016 08:00

Bonjour,

Réponse rapide entre 2 réunions...
Non, j'ai Raspberry Pi 2.0 & DAC Sabre V2, sans gestion d'alim... La version d'avant quoi.

Pour l'écran, il faut juste relier la broche 5 de l'écran à une "masse" (un pont avec la broche 1 par ex).
J'essai de détailler çà ce soir.

Bonne journée.

All4linux
Messages : 35
Inscription : sam. 09 avr. 2016 08:30

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par All4linux » jeu. 14 avr. 2016 08:28

Je comprends mieux Cram28. Les scripts utilisés fonctionnent pour la version I-sabre V2 et non V3 ce qui change tout.
Je pense que Audiophonics n'a pas les scripts opérationnels pour le DAC i-sabre V3.

A bon entendeur !

Avatar de l’utilisateur
Nicko
Administrateur - Site Admin
Messages : 440
Inscription : mer. 26 juil. 2006 12:21
Localisation : Bordeaux
Contact :

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Nicko » jeu. 14 avr. 2016 16:50

Il n'y a pas de relation de cause à effet, l'écran est drivé de la meme façon que vous ayez un PI2, un PI3, un DAC V2, ou DAC V3

Sauf que le DAC V3 à un pin cablé différemment ! :-D
Le Bit 7 est passé du pin 15 à 27, il faut éditer votre python si vous êtes en V3.
(Drohne était en V2)

viewtopic.php?f=4&t=1492&start=50#p6040" onclick="window.open(this.href);return false;

Code : Tout sélectionner

pins_db1 = [25, 24, 23, 15, 8, 7]
A changer en :
pins_db1 = [25, 24, 23, 27, 8, 7]
Pièces jointes
DAC_V3_fullsize_distr.jpg
DAC V3 schéma
DAC_V3_fullsize_distr.jpg (93.16 Kio) Consulté 5311 fois

All4linux
Messages : 35
Inscription : sam. 09 avr. 2016 08:30

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par All4linux » jeu. 14 avr. 2016 17:22

Bonjour Nicko,

Ca y ait, ça marche :-D :-D :-D :-D

J'ai mis ton script RaspDacDisplay.py
import Winstar_GraphicOLED
import moment
import time
import json
import logging
from mpd import MPDClient
import telnetlib
import RPi.GPIO as GPIO
import Queue
from threading import Thread
import sys


ARTIST_TIME = 4.0 # Amount of time to display Artist name (in seconds)
TITLE_TIME = 4.0 # Amount of time to display the Title (in seconds)
HESITATION_TIME = 2.5 # Amount of time to hesistate before scrolling (in seconds)

# The Winstar display shipped with the RaspDac is capable of two lines of display
# when the 5x8 font is used. This code assumes that is what you will be using.
# The display logic would need significant rework to support a different number
# of display lines!

DISPLAY_WIDTH = 16 # the character width of the display
DISPLAY_HEIGHT = 2 # the number of lines on the display

# This is where the log file will be written
LOGFILE='/var/log/RaspDacDisplay.log'

# Adjust this setting to localize the time display to your region
TIMEZONE="Europe/Paris"


class RaspDac_Display:


def __init__(self):
logging.info("RaspDac_Display Initializing")

# Initilize the connections to the music Daemons. Currently supporting
# MPD and SPOP (for Spotify)

ATTEMPTS=10
# Will try to connect multiple times

for i in range (1,ATTEMPTS):
self.client = MPDClient()

try:
# Connect to the MPD daemon
self.client.connect("localhost", 6600)
break
except:
logging.warning("Connection to MPD service attempt " + str(i) + " failed")
time.sleep(2)
else:
# After the alloted number of attempts did not succeed in connecting
logging.critical("Unable to connect to MPD service")

# Passing Exception on to calling routine which will likely exit
raise





def status(self):
# Try MPD daemon first
m_status = self.client.status()
m_currentsong = self.client.currentsong()

# Get the MPD player state and act accordingly
state = m_status.get('state')
if state == "play":
artist = m_currentsong.get('artist')
name = m_currentsong.get('name')

# Trying to have something to display. If artist is empty, try the
# name field instead.
if artist is None:
artist = name
title = m_currentsong.get('title')

(current, duration) = (m_status.get('time').split(":"))

# since we are returning the info as a JSON formatted return, convert
# any None's into reasonable values
if artist is None: artist = ""
if title is None: title = ""
if current is None: current = 0
if duration is None: duration = 0
return { 'state':state, 'artist':artist, 'title':title, 'current':current, 'duration': duration }
else :


return { 'state':"stop" }


def Display(q, l, c):
# q - Queue to receive updates from
# l - number of lines in display
# c - number of columns in display

lines = []
columns = []

lcd = Winstar_GraphicOLED.Winstar_GraphicOLED()
lcd.oledReset()
lcd.home()
lcd.clear()

lcd.message("RaspDac\nStarting")
time.sleep(2)

for i in range (0, l):
lines.append("")
columns.append(0)

# Get first display update off of the queue
item = q.get()
q.task_done()

lcd.home()
lcd.clear()

for i in range(len(item)):
lines = item
lcd.setCursor(0,i)
lcd.message( lines[0:c] )

prev_time = time.time()

while True:
short_lines=True

# Smooth animation
if time.time() - prev_time < .05:
time.sleep(.05-(time.time()-prev_time))
try:
# Determine if any lines have been udpated and if yes display them
for i in range(len(item)):
# Check if line is longer than display
if len(item)>c:
short_lines = False

# Check if line has been updated
if lines != item:
# Create a line to print that is at least as long as the existing line
# This is to erase any extraneous characters on the display
buf = item.ljust(len(lines))

# Reset cursor to beginning of changed line and then display the change
lcd.setCursor(0,i)
lcd.message(buf[0:c])

# Update the local line data and reset the column position for the line
lines = item
columns[i] = 0

# If lines all fit on display then we can wait for new input
if short_lines:
item=q.get()
q.task_done()
else:
# Update all long lines
for i in range(len(lines)):
if len(lines[i])>c:
buf = "{0:s} {1:s}".format(lines[i],lines[i][0:DISPLAY_WIDTH-1])
#buf = lines[i]+" "+lines[i][0:c]

columns[i] = columns[i]+1
if columns[i] > len(buf)-c:
columns[i]=0

lcd.setCursor(0,i)

# Print the portion of the string that is currently visible
lcd.message(buf[columns[i]:columns[i]+c])
# Since we have to continue updating the display, check for a new update but don't block
item=q.get_nowait()
q.task_done()


prev_time = time.time()
except Queue.Empty:
prev_time = time.time()
pass


if __name__ == '__main__':
logging.basicConfig(format='%(asctime)s:%(levelname)s:%(message)s', filename=LOGFILE, level=logging.INFO)
logging.info("RaspDac Display Startup")

try:
rd = RaspDac_Display()
except:
#e = sys.exc_info()[0]
#logging.critical("Received exception: %s" % e)
logging.critical("Unable to initialize RaspDac Display. Exiting...")
sys.exit(0)

try:

q = Queue.Queue()
dm = Thread(target=Display, args=(q,DISPLAY_HEIGHT,DISPLAY_WIDTH))
dm.setDaemon(True)
dm.start()

display_mode = "ARTIST"
beenplaying = True
currentArtist = ""
currentTitle = ""
cpos = ""

ctime = ""
hesitate = False
hesitation_etime = 0
display_etime = 0


while True:
current_time = moment.utcnow().timezone(TIMEZONE).format("h:m A").strip()

cstatus = rd.status()
state = cstatus.get('state')

if state != "play":
if beenplaying:
beenplaying = False
currentArtist = ""
currentTitle = ""
logging.info("Ready " + current_time)
q.put(["Ready",current_time])


# Only update display time if the time has changed
if current_time != ctime:
logging.info("Ready " + current_time)
q.put(["Ready", current_time])
ctime = current_time

time.sleep(1)

else:
title = cstatus.get('title')
artist = cstatus.get('artist')
playing_song = artist + ": " + title

current = cstatus.get("current")
duration = cstatus.get("duration")

# if duration is not available, then suppress its display
if int(duration) > 0:
timepos = time.strftime("%M:%S", time.gmtime(int(current))) + "/" + time.strftime("%M:%S", time.gmtime(int(duration)))
else:
timepos = time.strftime("%M:%S", time.gmtime(int(current)))

update_needed = False
if (beenplaying == False) or (currentTitle != title) or (currentArtist != artist):
beenplaying = True
currentTitle = title
currentArtist = artist
logging.info(current_time + " (local): " + playing_song)
display_mode = "ARTIST"
display_etime = time.time()+ARTIST_TIME
if (len(str(artist))>DISPLAY_WIDTH):
hesitation_etime = time.time()+HESITATION_TIME
hesitate=True
display = artist[0:DISPLAY_WIDTH]
elif (len(str(artist)) > 0):
display = artist
else:
display_etime = 0 # force artist display to be skipped if the field is empty
update_needed = True
else:
# Only update display if the time position has changed
if timepos != cpos:
update_needed = True
cpos = timepos

if (hesitation_etime < time.time() and hesitate):
update_needed = True
hesitate = False
if display_mode == "ARTIST":
display = artist
else:
display = title


if display_etime < time.time():
update_needed = True
if display_mode == "ARTIST":
display_etime = time.time() + TITLE_TIME
if len(str(title)) > 0:
display_mode = "TITLE"
display = title
else:
display_etime = time.time() + ARTIST_TIME
if len(str(artist)) > 0:
display_mode = "ARTIST"
display = artist

if len(str(artist)) == 0 and len(str(title)) == 0:
# if neither artist and title contain values
display = "No song info"

if (len(display)>DISPLAY_WIDTH):
hesitate = True
hesitation_etime = time.time() + HESITATION_TIME
display = display[0:DISPLAY_WIDTH]

# Only update if one of the display items has changed
if update_needed:
# add new display items to display queue
q.put([display, timepos])
update_needed = False

time.sleep(.25)


except KeyboardInterrupt:
pass

finally:
q.put(["Goodbye!",""])
logging.info("Goodbye!")
rd.client.disconnect()
rd.spotclient.write("bye\n")
rd.spotclient.close()
time.sleep(2)
q.put(["",""])
time.sleep(1)
GPIO.cleanup()


Avec le script Winstar_GraphicOLED.py

#!/usr/bin/python
# coding: UTF-8

# Winstar WEG010032ALPP5N00000 Graphic OLED and WS0010 OLED driver code for
# Raspberry Pi GPIO library. Some code originally found at
# http://forums.adafruit.com/viewtopic.ph ... 15#p163445" onclick="window.open(this.href);return false;
# Based on http://www.rpiblog.com/2012/11/interfac ... ry-pi.html" onclick="window.open(this.href);return false;
# Massive respec to UHCLEM in that post for getting me on the right track.
#
# Timing & initialisation issues resolved with help of LCD Initialization guide
# http://web.alfredstate.edu/weimandn/lcd ... index.html" onclick="window.open(this.href);return false;
# I also found this helpful http://www.8051projects.net/lcd-interfa ... mmands.php" onclick="window.open(this.href);return false;
#
# Find the latest version of this file at https://gist.github.com/lardconcepts/4947360/" onclick="window.open(this.href);return false;
# Fork and comment but I'd REALLY appreciate getting the graphics mode working.
# I'm trying to achieve "full height" letters, 32 pixels high. Anyone?
#
# based on code from lrvick and LiquidCrystal
# lrvic - https://github.com/lrvick/raspi-hd44780 ... hd44780.py" onclick="window.open(this.href);return false;
# LiquidCrystal - https://github.com/arduino/Arduino/blob ... rystal.cpp" onclick="window.open(this.href);return false;
#
# For Winstar WEG1xxxxxx OLED displays, I've wired it up as follows:
# OLED PN | FUNCT | GPIO | P1 pin | Audiophonics pin
# 4 RS 25 22 26
# 5 R/W 18 12 N/A (tied to GND)
# 6 E 24 18 24
# 11 D4 23 16 22
# 12 D5 17 11 18
# 13 D6 21 13 16
# 14 D7 22 15 10
# 15 CS1 9 21 N/A
# 16 CS2 1 5 N/A
#
# Handy Binary to Hex converter
# 0x0 = 0000 0x1 = 0001 0x2 = 0010 0x3 = 0011 0x4 = 0100 0x5 = 0101
# 0x6 = 0110 0x7 = 0111 0x8 = 1000 0x9 = 1001 0xa = 1010 0xb = 1011
# 0xc = 1100 0xd = 1101 0xe = 1110 0xf = 1111
#
# For some reason, with the Winstar in 4-bit mode, the command needs 0x00 before
# the real command. For example, shift whole display right is 0001,1100 = 0x01,0x0c
# So you prefix with 0x00 and, in the next command, combine the two 4-groups into 0x1c eg:
# lcd.write4bits(0x00)
# lcd.write4bits(0x1c)
#
# PS - Adafruit WebIDE FTMFW! http://learn.adafruit.com/webide/" onclick="window.open(this.href);return false;


import RPi.GPIO as GPIO
import time

class Winstar_GraphicOLED:

# commands
LCD_CLEARDISPLAY = 0x01
LCD_RETURNHOME = 0x02
LCD_ENTRYMODESET = 0x04
LCD_DISPLAYCONTROL = 0x08
LCD_CURSORSHIFT = 0x10
LCD_FUNCTIONSET = 0x20
LCD_SETCGRAMADDR = 0x40
LCD_SETDDRAMADDR = 0x80

# flags for display entry mode
LCD_ENTRYRIGHT = 0x00
LCD_ENTRYLEFT = 0x02
LCD_ENTRYSHIFTINCREMENT = 0x01
LCD_ENTRYSHIFTDECREMENT = 0x00

# flags for display on/off control
LCD_DISPLAYON = 0x04
LCD_DISPLAYOFF = 0x00
LCD_CURSORON = 0x02
LCD_CURSOROFF = 0x00
LCD_BLINKON = 0x01
LCD_BLINKOFF = 0x00

# flags for display/cursor shift
LCD_DISPLAYMOVE = 0x08
LCD_CURSORMOVE = 0x00

# flags for display/cursor shift
LCD_DISPLAYMOVE = 0x08
LCD_CURSORMOVE = 0x00
LCD_MOVERIGHT = 0x04
LCD_MOVELEFT = 0x00

# flags for function set
LCD_8BITMODE = 0x10
LCD_4BITMODE = 0x00
LCD_2LINE = 0x08
LCD_1LINE = 0x00
LCD_5x10s = 0x04
LCD_5x8DOTS = 0x00

character_translation = [ 0,0,0,0,0,0,0,0,0,0, #0
0,0,0,0,0,0,0,0,0,0, #10
0,0,0,0,0,0,0,0,0,0, #20
0,0,32,33,34,35,36,37,38,39, #30
40,41,42,43,44,45,46,47,48,49, #40
50,51,52,53,54,55,56,57,58,59, #50
60,61,62,63,64,65,66,67,68,69, #60
70,71,72,73,74,75,76,77,78,79, #70
80,81,82,83,84,85,86,87,88,89, #80
90,91,92,93,94,95,96,97,98,99, #90
100,101,102,103,104,105,106,107,108,109, #100
110,111,112,113,114,115,116,117,118,119, #110
120,121,122,123,124,125,126,0,0,0, #120
0,0,0,0,0,0,0,0,0,0, #130
0,0,0,0,0,0,0,0,0,0, #140
0,0,0,0,0,0,0,0,0,0, #150
32,33,204,179,198,32,32,176,209,221, #160
32,215,32,32,220,32,210,177,32,32, #170
211,200,188,32,32,32,210,216,227,226, #180
229,143,152,152,65,203,153,65,175,196, #190
145,146,144,147,73,73,73,73,194,166, #200
136,137,135,206,79,88,201,129,130,128, #210
131,89,254,195,156,157,155,205,158,97, #220
32,196,149,150,148,151,162,163,161,164, #230
111,167,140,141,139,207,142,214,192,133, #240
134,132,117,121,250,202 ] #250

def __init__(self):
self.numlines=2


def oledReset(self, pin_rs=7, pin_e=8, pins_db=[25, 24, 23, 15]):
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
#GPIO.cleanup()
pins_db1 = [25, 24, 23, 15, 8, 7]
for pin in pins_db1:
GPIO.setup(pin, GPIO.OUT, initial=GPIO.LOW)

self.pin_rs = pin_rs
self.pin_e = pin_e
self.pins_db = pins_db

GPIO.setup(self.pin_e, GPIO.OUT)
GPIO.setup(self.pin_rs, GPIO.OUT)

GPIO.output(self.pin_rs, False)
GPIO.output(self.pin_e, False)

for pin in self.pins_db:
GPIO.setup(pin, GPIO.OUT)

# initialization sequence taken from audiophonics.fr site
# there is a good writeup on the HD44780 at Wikipedia
# https://en.wikipedia.org/wiki/Hitachi_H ... controller" onclick="window.open(this.href);return false;

#self.delayMicroseconds(10000)

# Assuming that the display may already be in 4 bit mode
# send five 0000 instructions to resync the display
# NOTE: There is a resync function that is included later but is
# not being used here due to the need to place the display in
# 8 bit mode temporarily
for i in range(1,5):
self.writeonly4bits(0x00, False)

self.delayMicroseconds(1000)

# Now place in 8 bit mode so that we start from a known state
# issuing function set twice in case we are in 4 bit mode
self.writeonly4bits(0x03, False)
self.writeonly4bits(0x03, False)

self.delayMicroseconds(1000)

# placing display in 4 bit mode
self.writeonly4bits(0x02, False)
self.delayMicroseconds(1000)

# From this point forward, we need to use write4bits function which
# implements the two stage write that 4 bit mode requires

self.write4bits(0x08, False) # Turn display off
self.write4bits(0x29, False) # Function set for 4 bits, 2 lines, 5x8 font, Western European font table
self.write4bits(0x06, False) # Entry Mode set to increment and no shift
self.write4bits(0x17, False) # Set to char mode and turn on power
self.write4bits(0x01, False) # Clear display and reset cursor
self.write4bits(0x0c, False) # Turn on display


def home(self):

self.write4bits(self.LCD_RETURNHOME) # set cursor position to zero
self.delayMicroseconds(2000) # this command takes a long time!


def clear(self):
self.write4bits(self.LCD_CLEARDISPLAY) # command to clear display
self.delayMicroseconds(2000) # 2000 microsecond sleep, clearing the display takes a long time


def setCursor(self, col, row):

self.row_offsets = [ 0x00, 0x40, 0x14, 0x54 ]

if (row > self.numlines):
row = self.numlines - 1 # we count rows starting w/0

self.write4bits(self.LCD_SETDDRAMADDR | (col + self.row_offsets[row]))


def noDisplay(self):
''' Turn the display off (quickly) '''

self.displaycontrol &= ~self.LCD_DISPLAYON
self.write4bits(self.LCD_DISPLAYCONTROL | self.displaycontrol)


def display(self):
''' Turn the display on (quickly) '''

self.displaycontrol |= self.LCD_DISPLAYON
self.write4bits(self.LCD_DISPLAYCONTROL | self.displaycontrol)


def noCursor(self):
''' Turns the underline cursor on/off '''

self.displaycontrol &= ~self.LCD_CURSORON
self.write4bits(self.LCD_DISPLAYCONTROL | self.displaycontrol)


def cursor(self):
''' Cursor On '''

self.displaycontrol |= self.LCD_CURSORON
self.write4bits(self.LCD_DISPLAYCONTROL | self.displaycontrol)


def noBlink(self):
''' Turn on and off the blinking cursor '''

self.displaycontrol &= ~self.LCD_BLINKON
self.write4bits(self.LCD_DISPLAYCONTROL | self.displaycontrol)


def DisplayLeft(self):
''' These commands scroll the display without changing the RAM '''

self.write4bits(self.LCD_CURSORSHIFT | self.LCD_DISPLAYMOVE | self.LCD_MOVELEFT)


def scrollDisplayRight(self):
''' These commands scroll the display without changing the RAM '''

self.write4bits(self.LCD_CURSORSHIFT | self.LCD_DISPLAYMOVE | self.LCD_MOVERIGHT);


def leftToRight(self):
''' This is for text that flows Left to Right '''

self.displaymode |= self.LCD_ENTRYLEFT
self.write4bits(self.LCD_ENTRYMODESET | self.displaymode);


def rightToLeft(self):
''' This is for text that flows Right to Left '''
self.displaymode &= ~self.LCD_ENTRYLEFT
self.write4bits(self.LCD_ENTRYMODESET | self.displaymode)


def autoscroll(self):
''' This will 'right justify' text from the cursor '''

self.displaymode |= self.LCD_ENTRYSHIFTINCREMENT
self.write4bits(self.LCD_ENTRYMODESET | self.displaymode)


def noAutoscroll(self):
''' This will 'left justify' text from the cursor '''

self.displaymode &= ~self.LCD_ENTRYSHIFTINCREMENT
self.write4bits(self.LCD_ENTRYMODESET | self.displaymode)


def writeonly4bits(self, bits, char_mode=False):
if bits > 15: return

#self.delayMicroseconds(1000)
bits = bin(bits)[2:].zfill(4)

GPIO.output(self.pin_rs, char_mode)

for pin in self.pins_db:
GPIO.output(pin, False)

for i in range(4):
if bits[i] == "1":
GPIO.output(self.pins_db[::-1][i], True)
self.pulseEnable()


def write4bits(self, bits, char_mode=False):
''' Send command to LCD '''

#self.delayMicroseconds(1000) # 1000 microsecond sleep

bits = bin(bits)[2:].zfill(8)

GPIO.output(self.pin_rs, char_mode)

for pin in self.pins_db:
GPIO.output(pin, False)

for i in range(4):
if bits[i] == "1":
GPIO.output(self.pins_db[::-1][i], True)

self.pulseEnable()

for pin in self.pins_db:
GPIO.output(pin, False)

for i in range(4, 8):
if bits[i] == "1":
GPIO.output(self.pins_db[::-1][i - 4], True)

self.pulseEnable()
# self.delayMicroseconds(1000)
#self.waitForReady()
#self.delayMicroseconds(5)


def resyncDisplay(self):
# Per the last page (pg 24) of OLED doc located at
# http://www.picaxe.com/docs/oled.pdf" onclick="window.open(this.href);return false;
# To resync the display send 5 0000's and then
# two function sets for 4 bit mode 0010
# The display should now be resynced to be ready to accept a new cmd

for i in range(1,5):
self.writeonly4bits(0x0, False)
self.write4bits(0x02, False)



def delayMicroseconds(self, microseconds):
seconds = microseconds / 1000000.0 # divide microseconds by 1 million for seconds
time.sleep(seconds)


def pulseEnable(self):
# the pulse timing in the 16x2_oled_volumio 2.py file is 1000/500
# the pulse timing in the original version of this file is 10/10
# with a 100 post time for setting

GPIO.output(self.pin_e, False)
self.delayMicroseconds(.1) # 1 microsecond pause - enable pulse must be > 450ns
GPIO.output(self.pin_e, True)
self.delayMicroseconds(.1) # 1 microsecond pause - enable pulse must be > 450ns
#time.sleep(0.000000001)
GPIO.output(self.pin_e, False)
#self.delayMicroseconds(10) # commands need > 37us to settle


def message(self, text):
''' Send string to LCD. Newline wraps to second line'''

for char in text:
if char == '\n':
self.write4bits(0xC0) # next line

else:
#time.sleep(.000001)

# Translate incoming character into correct value for European charset
# and then send it to display. Use space if character is out of range.
c = ord(char)
if c > 255: c = 32
self.write4bits(self.character_translation[c], True)


if __name__ == '__main__':

try:

lcd = Winstar_GraphicOLED()
lcd.oledReset()
lcd.home()
lcd.clear()

lcd.message("Winstar OLED\nPi Powered")
time.sleep(4)

lcd.home()
lcd.clear()

accent_min = u"àáâãäçèéëêìíî \nïòóôöøùúûüþÿ"
#for char in accent_min: print char, ord(char)
lcd.message(accent_min)
time.sleep(5)

lcd.home()
lcd.clear()

accent_maj = u"ÀÁÂÆÇÈÉÊËÌÍÎÐ \nÑÒÓÔÕÙÚÛÜÝÞß"
#for char in accent_maj: print char, ord(char)
lcd.message(accent_maj)

time.sleep(5)
lcd.home()
lcd.clear()

except KeyboardInterrupt:
pass

finally:
lcd.home()
lcd.clear()
lcd.message("Goodbye!")
time.sleep(2)
lcd.home()
lcd.clear()
GPIO.cleanup()


Il faut placer ses 2 fichiers dans le répertoire /home/pi avec les droits pi.pi
Dernière modification par All4linux le jeu. 14 avr. 2016 18:40, modifié 1 fois.

Avatar de l’utilisateur
rikardo1979
Messages : 148
Inscription : sam. 09 avr. 2016 08:39
Localisation : UK
Contact :

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par rikardo1979 » jeu. 14 avr. 2016 18:18

~~~~>>>Please always follow rules and read before you post<<<~~~~

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » jeu. 14 avr. 2016 19:50

Bonsoir,

@All4linux
Ca y ait, ça marche :-D :-D :-D :-D
Yessss ! (Du coup, plus besoin photo :D ).
Au bout du compte, tu as fait quoi pour que çà marche (pour éventuellement aider d'autres copains) ?

Ta config, c'est: RPI2 / DAC v3 / OLED / Gestion d'alim. ? / Volumio 1 ? / Dernière version du script de dhrone (https://github.com/dhrone/Raspdac-Display) ?

@rikardo1979
Any help on this please?
I'm not understand what is the problem..; but i am not understand english too :oops: (no body is perfect). Is for playing the OLED Screen under RunAudio ?

Merci.

Avatar de l’utilisateur
rikardo1979
Messages : 148
Inscription : sam. 09 avr. 2016 08:39
Localisation : UK
Contact :

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par rikardo1979 » jeu. 14 avr. 2016 20:41

Cram28 a écrit :Bonsoir,

@All4linux
Ca y ait, ça marche :-D :-D :-D :-D
Yessss ! (Du coup, plus besoin photo :D ).
Au bout du compte, tu as fait quoi pour que çà marche (pour éventuellement aider d'autres copains) ?

Ta config, c'est: RPI2 / DAC v3 / OLED / Gestion d'alim. ? / Volumio 1 ? / Dernière version du script de dhrone (https://github.com/dhrone/Raspdac-Display) ?

@rikardo1979
Any help on this please?
I'm not understand what is the problem..; but i am not understand english too :oops: (no body is perfect). Is for playing the OLED Screen under RunAudio ?

Merci.
Yes, I would like to have this RaspDAC Kit running on RuneAudio as Volumio is pretty ugly and has lack of support on their community
~~~~>>>Please always follow rules and read before you post<<<~~~~

Avatar de l’utilisateur
rikardo1979
Messages : 148
Inscription : sam. 09 avr. 2016 08:39
Localisation : UK
Contact :

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par rikardo1979 » ven. 15 avr. 2016 06:08

can anyone tell me how to wire this OLED to new V3 board? As I have not received any instruction what so ever!!! I have not received cables what so ever!!! :!:
~~~~>>>Please always follow rules and read before you post<<<~~~~

All4linux
Messages : 35
Inscription : sam. 09 avr. 2016 08:30

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par All4linux » ven. 15 avr. 2016 09:49

Salut Cram28

J'ai pris le script Raspdac de Niko et non celui de dhrone qui ne marche pas avec ma config

J'ai modifié le script Winstar_Oled pour qu'il puisse fonctionner avec le Raspdac.

Je suis en mesure de faire une procédure complète concernant l'affichage Oled du Raspdac V3.

J'y vais de ce pas d'ailleurs :-)

Cram28 a écrit :Bonsoir,

@All4linux
Ca y ait, ça marche :-D :-D :-D :-D
Yessss ! (Du coup, plus besoin photo :D ).
Au bout du compte, tu as fait quoi pour que çà marche (pour éventuellement aider d'autres copains) ?

Ta config, c'est: RPI2 / DAC v3 / OLED / Gestion d'alim. ? / Volumio 1 ? / Dernière version du script de dhrone (https://github.com/dhrone/Raspdac-Display) ?

@rikardo1979
Any help on this please?
I'm not understand what is the problem..; but i am not understand english too :oops: (no body is perfect). Is for playing the OLED Screen under RunAudio ?

Merci.

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » ven. 15 avr. 2016 11:12

Bonjour,

Alors ce n'est sans doute pas mon rôle, mais je vide mon sac (çà va me faire du bien :)) ...
[Si le Modérateur de ce forum - qui ne travaille sûrement pas à temps plein ici non plus - juge que ce post doit être modéré, voire supprimé, je l'invite à faire son devoir sans détour (j'ai bien trop d'estime pour ce rôle souvent ingrat pour m'en formaliser)].

1. Un forum est un lieu, en principe et a priori convivial, de partages et d'échanges entre les utilisateurs. Ce n'est pas le bureau des pleurs ni le service commercial ou le SAV (voir viewtopic.php?f=2&t=934" onclick="window.open(this.href);return false;).

2. Je ne ferai pas l'affront de rappeler ici ce que signifient les lettres D.I.Y. ... !! Mais celà signifie aussi que pour le prix qu'on paye, on a tout sauf des solutions "out of the box". C'est un choix de base que l'on fait pour avoir des produits de qualité à moindre coût, pour avoir le plaisir de les fabriquer soit même, de les enrichir parfois, pour apprendre aussi plein de choses ! Si on ne veut pas de ça, on paye une fortune des produits de grandes marques, qui font la même chose en parfois (souvent ?) moins bien, qui n'évolueront pas, etc ... Mais qui ont aussi plein de qualités quand même, hein !!

3. Je voudrais rappeler aussi que la plupart des intervenants sur un forum n'y passent généralement pas leur vie - en tous les cas je leur souhaite d'avoir d'autres façons d'occuper leurs jours et leurs nuits. La participation est libre, volontaire - voire bénévole. En conséquence, personne ne doit s'attendre à disposer de réponses dans la minute; certains pourront d'ailleurs n'avoir jamais de réponse ici car aucun produit ne fera "papa-maman" après une simple soudure ou un bout de script (et parfois il n'y a pas de solution dans un contexte donné). Faire un tuto, un schéma, une explication... demande un peu de travail et de temps. Ceux qui savent des choses, par leur compétences propres, par expérience et manipulations, tentatives, échecs ... peuvent souhaiter partager (pour simplement aider, par plaisir d'exposer leur solution, pour avoir des idées d'améliorations en retour, pour se faire mousser même, peu importe). Ces "sachant" le feront d'autant plus aisément qu'on leur expose simplement, le plus complètement possible une problématique et l'état d'avancement (j'ai quel matériel, j'en suis où, çà coince où, j'ai tenté quoi ...). Celà signifie donc que la question elle aussi demande un peu de travail et de temps...

4. Sur un forum, de même qu'il n'y a jamais de questions idiotes, on ne peut rien exiger - JAMAIS - ni donner l'impression au lecteur qu'il se fait engueuler ni laisser penser qu'il a acheté de la merde (d'autant que c'est faux) ! Cà ne donne vraiment pas envie de participer ...

Bref! C'était la pensée du jour (et une conception des choses toute personnelle)!

Celà dit... je me fais une tentative de tuto ce week end, analogue à celui-ci mais pour "RuneAudio 0.4beta / RPi2 / DAC v2 / OLED 16x2 / sans gestion d'alimentation".
... Je le proposerai sans doute dans un autre sujet. En espérant avoir à la fois votre indulgence et aussi peut-être des idées en retour...;)

Je suis nul en anglais: Faites comme moi, utilisez donc notre ami "Go... Translator" et ses imperfections (c'est toujours mieux que rien)


@All4linux: Il faut rendre à César... Il s'agit bien du script de dhrone, dans une version intermédiaire que Niko a adaptée à la v3 du DAC en cours de post. Depuis dhrone à finaliser une version là: https://github.com/dhrone/Raspdac-Display avec quelques améliorations. Je te suggère de prendre cette dernière version et d'appliquer les changements de la V3 à celle-ci ... Mais ce n'est qu'une suggestion bien sûr, puisque maintenant çà fonctionne :wink:

Merci.

All4linux
Messages : 35
Inscription : sam. 09 avr. 2016 08:30

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par All4linux » ven. 15 avr. 2016 13:22

Cram28,

Pour ce qui est de ton long message concernant le bureau des pleurs, je sais à qui tu fais référence et je partage ton point de vue. Si j'ai acheté ce produit, c'est en partie aussi pour bidouiller un peu car j'ai un peu de temps libre. Et qui plus est, le résultat est impressionnant. J'y ai gagné au change et pour pas grand coût !

Je ne cherche pas la gloire en effectuant des tutos mais plutôt de consolider des informations et rendre plus lisibles des dizaines de pages éparpillées.

je connais très bien l'idéologie du forum, il y a ceux qui :

- Contribue pour faire avancer la solution
- Lisent et utilisent la solution
- Ceux qui râlent parce qu'ils sont frustrés :-)

Moi je fais partit, tantôt l'un tantôt l'autre des 2 premiers cas et je l'avoue ;-)

En tout cas, concernant le RAspdac j'ai trouvé tes interventions pertinentes :-)

A bientôt !

Avatar de l’utilisateur
Nicko
Administrateur - Site Admin
Messages : 440
Inscription : mer. 26 juil. 2006 12:21
Localisation : Bordeaux
Contact :

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Nicko » ven. 15 avr. 2016 15:02

Désolé pour la confusion causée entre toutes ces versions de scripts...

Je crois qu'il faudra que je refasse un topic propre à l'occasion, mais je manque cruellement de temps pour l’instant.
Je n'ai meme pas pu vraiment assimiler tout ce que vous avez posté.

En attendant voici un dessin pour expliquer la différence entre le câblage qu'on à conseillé au départ pour le DAC V2, puis celui utilisé sur le DAC V3
En effet nous avons souhaité libérer le pin du port série pin 15, pour un produit qui arrive très bientôt
Il permettra de controller l'écran du Rasp dès l'allumage et quand on aura réussi à faire marcher le RX :roll:, allumer le PI à la télécommande
OLED_Wiring_DACV2_vs_DACV3_new.jpg
DAC V vs DAC V3
OLED_Wiring_DACV2_vs_DACV3_new.jpg (221.61 Kio) Consulté 5170 fois
Et un petit cadeau : Une image Volumio 1.55 pour PI2, avec DAC V3 et OLED

https://mega.nz/#F!QAUBlAxC!RyOJlP1OXbXH_gLvHSjADw" onclick="window.open(this.href);return false;

A flasher sur une carte de 2GB ou plus.

Avatar de l’utilisateur
Nicko
Administrateur - Site Admin
Messages : 440
Inscription : mer. 26 juil. 2006 12:21
Localisation : Bordeaux
Contact :

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Nicko » ven. 15 avr. 2016 15:23

rikardo1979 a écrit :can anyone tell me how to wire this OLED to new V3 board? As I have not received any instruction what so ever!!! I have not received cables what so ever!!! :!:
Image

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » ven. 15 avr. 2016 17:09

Super, on sait tout maintenant !
Merci Nicko.

A propos d'un tuto de synthèse, tu vois çà comment (on peut-être t'aider, et tu valides ?): Un sujet unique, un sujet par produit/version, un sujet par produit / version / thème... En effet la "combinatoire" commence à devenir riche: y a la distribution (Volumio, RuneAudio maintenant, autres ? avec des différences selon la version), y a la gestion de l'écran (idem par version, mais c'est des "virgules"), y a apparemment une gestion d'alim/script de shutdown, ... .
Bref à cogiter ... Je pense que je pourrai trouver un peu de temps si tu souhaites pour gratter un sujet ou deux (mais que sur ce que j'ai bien sûr la V2).

J'en profite pour une question: Il me semble qu'il était question d'un kit de mise à jour de gestion d'alimentation pour RaspDAC v2: C'est d'actualité ?

Merci pour toutes ces infos.
@+

Avatar de l’utilisateur
rikardo1979
Messages : 148
Inscription : sam. 09 avr. 2016 08:39
Localisation : UK
Contact :

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par rikardo1979 » ven. 15 avr. 2016 19:24

Nicko a écrit :Désolé pour la confusion causée entre toutes ces versions de scripts...

Je crois qu'il faudra que je refasse un topic propre à l'occasion, mais je manque cruellement de temps pour l’instant.
Je n'ai meme pas pu vraiment assimiler tout ce que vous avez posté.

En attendant voici un dessin pour expliquer la différence entre le câblage qu'on à conseillé au départ pour le DAC V2, puis celui utilisé sur le DAC V3
En effet nous avons souhaité libérer le pin du port série pin 15, pour un produit qui arrive très bientôt
Il permettra de controller l'écran du Rasp dès l'allumage et quand on aura réussi à faire marcher le RX :roll:, allumer le PI à la télécommande
OLED_Wiring_DACV2_vs_DACV3.jpg
Et un petit cadeau : Une image Volumio 1.55 pour PI2, avec DAC V3 et OLED

https://mega.nz/#F!QAUBlAxC!RyOJlP1OXbXH_gLvHSjADw" onclick="window.open(this.href);return false;

A flasher sur une carte de 2GB ou plus.
Thanks you for the image. Finally all seems to work now :p
Do you think you can make same with RuneAudio please? As that environment seems to be more "eye candy"
~~~~>>>Please always follow rules and read before you post<<<~~~~

Avatar de l’utilisateur
rikardo1979
Messages : 148
Inscription : sam. 09 avr. 2016 08:39
Localisation : UK
Contact :

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par rikardo1979 » ven. 15 avr. 2016 19:31

@Nico, btw, you left your NAS mount settings in when you packed this image ;) So you may remove and repack in next release
Dernière modification par rikardo1979 le ven. 15 avr. 2016 20:30, modifié 1 fois.
~~~~>>>Please always follow rules and read before you post<<<~~~~

Répondre