Jivarofad/m2560 update (#4593)

* New drivers : buzzer/speaker, voice wtv20 / jq6500 , i2c

First commit, testings to be done

* Voice correction

* Better way to drive voice modules

Same thing as LCD drivers

* Issue #2337 (error mismatch) solved

* Font correction

* Fonts correction again

* oups...

* Voice modules (Companion) & flash saving (ST7920)

* Documentation update

* I2C driver correction

* Mega2560 directory renamed to mega2560

* M2560 driver correction

* Voice directory correction

* Voice=ON does not works with MEGA2560 (OFF/WTV20/JQ6500)

* Compliant to cmake documentation

* On M2560, audioAVR use playnumber et playduration declared in voice.h
Don't know why, must be discuted...

* ‘{’ token forgotten

* Simplier way for AVR voice
This commit is contained in:
Franck Aguerre
2017-03-18 09:44:47 +01:00
committed by Bertrand Songis
parent 225ca3160e
commit 49d1aafc1b
25 changed files with 1138 additions and 247 deletions
+381
View File
@@ -0,0 +1,381 @@
EESchema-LIBRARY Version 2.3 Date: 06/01/2017 11:42:37
#encoding utf-8
#
# +BATT
#
DEF +BATT #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN
F1 "+BATT" 0 100 30 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
X +BATT 1 0 0 0 U 20 20 0 0 W N
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
ENDDRAW
ENDDEF
#
# +HF
#
DEF +HF #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN
F1 "+HF" 0 100 50 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
X +BATT 1 0 0 0 U 20 20 0 0 W N
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
ENDDRAW
ENDDEF
#
# 4016
#
DEF 4016 U 0 0 Y Y 4 F N
F0 "U" 200 -149 40 H V C CNN
F1 "4016" 200 150 40 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
ALIAS 4066
DRAW
P 3 0 1 0 -100 -150 0 -50 0 -50 N
P 4 0 1 0 -100 0 100 100 100 -100 -100 0 N
P 4 0 1 0 -100 100 100 0 -100 -100 -100 100 N
X V- 7 0 -250 200 U 30 30 0 1 W
X V+ 14 0 250 200 D 30 30 0 1 W
X I/O 1 -300 0 200 R 40 40 1 1 P
X O/I 2 300 0 200 L 40 40 1 1 P
X ON 13 -300 -150 200 R 40 40 1 1 I
X O/I 3 300 0 200 L 40 40 2 1 P
X I/O 4 -300 0 200 R 40 40 2 1 P
X ON 5 -300 -150 200 R 40 40 2 1 I
X ON 6 -300 -150 200 R 40 40 3 1 I
X I/O 8 -300 0 200 R 40 40 3 1 P
X O/I 9 300 0 200 L 40 40 3 1 P
X O/I 10 300 0 200 L 40 40 4 1 P
X I/O 11 -300 0 200 R 40 40 4 1 P
X ON 12 -300 -150 200 R 40 40 4 1 I
ENDDRAW
ENDDEF
#
# 7805
#
DEF 7805 U 0 30 N Y 1 F N
F0 "U" 150 -196 60 H V C CNN
F1 "7805" 0 200 60 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
ALIAS LM7805 LM7812 78L05
DRAW
S -200 -150 200 150 0 1 0 N
X VI VI -400 50 200 R 40 40 1 1 I
X VO VO 400 50 200 L 40 40 1 1 w
X GND GND 0 -250 100 U 40 40 1 1 I
ENDDRAW
ENDDEF
#
# C
#
DEF C C 0 10 N Y 1 F N
F0 "C" 0 100 40 H V L CNN
F1 "C" 6 -85 40 H V L CNN
F2 "~" 38 -150 30 H V C CNN
F3 "~" 0 0 60 H V C CNN
$FPLIST
SM*
C?
C1-1
$ENDFPLIST
DRAW
P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# CONN_1
#
DEF ~CONN_1 P 0 30 N N 1 F N
F0 "P" 80 0 40 H V L CNN
F1 "CONN_1" 0 55 30 H I C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
C 0 0 31 0 1 0 N
P 2 0 1 0 -30 0 -50 0 N
X 1 1 -150 0 100 R 60 60 1 1 P
ENDDRAW
ENDDEF
#
# DIODESCH
#
DEF DIODESCH D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN
F1 "DIODESCH" 0 -100 40 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
$FPLIST
D?
S*
$ENDFPLIST
DRAW
P 3 0 1 0 -50 50 50 0 -50 -50 F
P 6 0 1 8 75 25 75 50 50 50 50 -50 25 -50 25 -25 N
X A 1 -200 0 150 R 40 40 1 1 P
X K 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N
ENDDRAW
ENDDEF
#
# LED
#
DEF LED D 0 40 Y N 1 F N
F0 "D" 0 100 50 H V C CNN
F1 "LED" 0 -100 50 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
$FPLIST
LED-3MM
LED-5MM
LED-10MM
LED-0603
LED-0805
LED-1206
LEDV
$ENDFPLIST
DRAW
P 2 0 1 0 50 50 50 -50 N
P 3 0 1 0 -50 50 50 0 -50 -50 F
P 3 0 1 0 65 -40 110 -80 105 -55 N
P 3 0 1 0 80 -25 125 -65 120 -40 N
X A 1 -200 0 150 R 40 40 1 1 P
X K 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# LM2903
#
DEF LM2903 U 0 20 Y Y 2 F N
F0 "U" 150 150 60 H V C CNN
F1 "LM2903" 200 -200 60 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
ALIAS LM293 LM393 LM193
DRAW
P 4 0 1 0 -200 200 200 0 -200 -200 -200 200 N
X ~ 1 500 0 300 L 40 40 1 1 C
X _ 2 -500 -100 300 R 40 40 1 1 I
X + 3 -500 100 300 R 40 40 1 1 I
X V- 4 -100 -400 250 U 40 40 1 1 W
X V+ 8 -100 400 250 D 40 40 1 1 W
X V- 4 -100 -400 250 U 40 40 2 1 W
X + 5 -500 100 300 R 40 40 2 1 I
X _ 6 -500 -100 300 R 40 40 2 1 I
X ~ 7 500 0 300 L 40 40 2 1 C
X V+ 8 -100 400 250 D 40 40 2 1 W
ENDDRAW
ENDDEF
#
# MOS_N
#
DEF MOS_N Q 0 0 N Y 1 F N
F0 "Q" 10 170 60 H V R CNN
F1 "MOS_N" 10 -150 60 H V R CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
ALIAS MOSFET_N
DRAW
P 2 0 1 8 -50 -100 -50 100 N
P 2 0 1 10 0 -150 0 150 N
P 2 0 1 0 100 -100 0 -100 N
P 2 0 1 0 100 100 0 100 N
P 3 0 1 8 100 -100 100 0 50 0 N
P 5 0 1 8 50 30 50 -30 0 0 50 30 50 30 N
X D D 100 200 100 D 40 40 1 1 P
X G G -200 0 150 R 40 40 1 1 I
X S S 100 -200 100 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# MOS_P
#
DEF MOS_P Q 0 40 Y N 1 F N
F0 "Q" 0 190 60 H V R CNN
F1 "MOS_P" 0 -180 60 H V R CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
ALIAS MOSFET_P
DRAW
P 2 0 1 8 -50 -100 -50 100 N
P 2 0 1 10 0 -150 0 150 N
P 2 0 1 8 30 0 0 0 N
P 2 0 1 0 100 -100 0 -100 N
P 2 0 1 0 100 100 0 100 N
P 3 0 1 0 80 0 100 0 100 -100 N
P 5 0 1 8 30 40 30 -30 80 0 30 40 30 40 N
X D D 100 200 100 D 40 40 1 1 P
X G G -200 0 150 R 40 40 1 1 I
X S S 100 -200 100 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# POT
#
DEF POT RV 0 40 Y N 1 F N
F0 "RV" 0 -100 50 H V C CNN
F1 "POT" 0 0 50 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
S -150 50 150 -50 0 1 0 N
P 3 0 1 0 0 50 -20 70 20 70 F
X 1 1 -250 0 100 R 40 40 1 1 P
X 2 2 0 150 80 D 40 40 1 1 P
X 3 3 250 0 100 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 40 V V C CNN
F1 "R" 7 1 40 V V C CNN
F2 "~" -70 0 30 V V C CNN
F3 "~" 0 0 30 H V C CNN
$FPLIST
R?
SM0603
SM0805
R?-*
SM1206
$ENDFPLIST
DRAW
S -40 150 40 -150 0 1 12 N
X ~ 1 0 250 100 D 60 60 1 1 P
X ~ 2 0 -250 100 U 60 60 1 1 P
ENDDRAW
ENDDEF
#
# SPEAKER
#
DEF SPEAKER SP 0 0 N Y 1 F N
F0 "SP" -100 250 70 H V C CNN
F1 "SPEAKER" -100 -250 70 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
P 4 0 0 0 100 150 250 300 250 -300 100 -150 N
P 5 0 0 0 -100 150 100 150 100 -150 -100 -150 -100 150 F
X 1 1 -300 100 200 R 40 40 1 1 I
X 2 2 -300 -100 200 R 40 40 1 1 I
ENDDRAW
ENDDEF
#
# SPST
#
DEF SPST SW 0 0 N Y 1 F N
F0 "SW" 0 100 70 H V C CNN
F1 "SPST" 0 -100 70 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
C -150 0 50 0 0 0 N
C 150 0 50 0 0 0 N
P 2 0 0 0 -100 0 100 100 N
X 1 1 -500 0 300 R 70 70 1 1 I
X 2 2 500 0 300 L 70 70 1 1 I
ENDDRAW
ENDDEF
#
# SW
#
DEF SW SW 0 40 N N 1 F N
F0 "SW" 0 100 50 H V C CNN
F1 "SW" 0 0 50 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
P 2 0 1 0 -100 0 100 50 N
X 1 1 -300 0 200 R 60 60 0 1 P I
X 2 2 300 0 200 L 60 60 0 1 P I
ENDDRAW
ENDDEF
#
# SW_PUSH
#
DEF SW_PUSH SW 0 40 N N 1 F N
F0 "SW" 150 110 50 H V C CNN
F1 "SW_PUSH" 0 -80 50 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
S -170 50 170 60 0 1 0 N
P 4 0 1 0 -40 60 -30 90 30 90 40 60 N
X 1 1 -300 0 200 R 60 60 0 1 P I
X 2 2 300 0 200 L 60 60 0 1 P I
ENDDRAW
ENDDEF
#
# TLP290
#
DEF TLP290 IC 0 40 Y Y 1 F N
F0 "IC" -213 178 40 H V C CNN
F1 "TLP290" 149 -184 40 H V C CNN
F2 "SOP4" -164 -174 29 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
C -175 -100 5 0 1 0 N
C -175 100 5 0 1 0 N
S -250 150 250 -150 0 1 10 f
P 2 0 1 10 -200 25 -150 25 N
P 2 0 1 0 -175 -25 -175 -100 N
P 2 0 1 0 -175 25 -175 100 N
P 2 0 1 10 -125 -25 -75 -25 N
P 2 0 1 0 100 25 175 100 N
P 2 0 1 0 175 -100 100 -25 F
P 2 0 1 0 175 -100 250 -100 N
P 2 0 1 0 175 100 250 100 N
P 3 0 1 0 -250 100 -100 100 -100 25 N
P 3 0 1 0 -100 -25 -100 -100 -250 -100 N
P 3 0 1 20 100 75 100 -75 100 -75 N
P 4 0 1 10 -175 25 -200 -25 -150 -25 -175 25 F
P 4 0 1 10 -100 -25 -125 25 -75 25 -100 -25 F
P 4 0 1 0 -20 10 1 30 1 10 31 40 N
P 4 0 1 0 31 40 11 30 21 20 31 40 N
P 5 0 1 0 120 -65 140 -45 160 -85 120 -65 120 -65 F
P 7 0 1 0 -20 -30 1 -10 1 -30 31 0 11 -10 21 -20 31 0 N
X ~ 1 -350 100 100 R 40 40 1 1 P
X ~ 2 -350 -100 100 R 40 40 1 1 P
X ~ 3 350 -100 100 L 40 40 1 1 P
X ~ 4 350 100 100 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# VCC
#
DEF VCC #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 100 30 H I C CNN
F1 "VCC" 0 100 30 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
X VCC 1 0 0 0 U 20 20 0 0 W N
C 0 50 20 0 1 0 N
P 3 0 1 0 0 0 0 30 0 30 N
ENDDRAW
ENDDEF
#
#End Library
+42
View File
@@ -0,0 +1,42 @@
update=07/01/2017 00:36:05
last_client=eeschema
[eeschema]
version=1
LibDir=
NetFmtName=
RptD_X=0
RptD_Y=100
RptLab=1
LabSize=60
[eeschema/libraries]
LibName1=power
LibName2=device
LibName3=transistors
LibName4=conn
LibName5=linear
LibName6=regul
LibName7=74xx
LibName8=cmos4000
LibName9=adc-dac
LibName10=memory
LibName11=xilinx
LibName12=special
LibName13=microcontrollers
LibName14=dsp
LibName15=microchip
LibName16=analog_switches
LibName17=motorola
LibName18=texas
LibName19=intel
LibName20=audio
LibName21=interface
LibName22=digital-audio
LibName23=philips
LibName24=display
LibName25=cypress
LibName26=siliconi
LibName27=opto
LibName28=atmel
LibName29=contrib
LibName30=valves
LibName31=MEGA2560
+22 -20
View File
@@ -29,14 +29,14 @@ LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:MEGA2560-cache
LIBS:MEGA2560
EELAYER 27 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 1 1
Title "OpenTX board based on Arduino MEGA2560"
Date "27 feb 2016"
Date "6 jan 2017"
Rev "0"
Comp "Copyright F. Aguerre"
Comment1 ""
@@ -246,7 +246,7 @@ L SPEAKER .
U 1 1 54994432
P 10600 6200
F 0 "." H 10500 6450 70 0000 C CNN
F 1 "BUZZER" H 10500 5950 40 0000 C CNN
F 1 "BUZZER or SPEAKER" H 10700 5800 40 0000 C CNN
F 2 "" H 10600 6200 60 0001 C CNN
F 3 "" H 10600 6200 60 0001 C CNN
1 10600 6200
@@ -886,7 +886,7 @@ Key_►
Text Label 6600 6150 2 42 ~ 0
Key_▼
Text Label 2000 3700 3 42 ~ 0
Somo_Busy
Voice_Busy
$Comp
L R R1
U 1 1 54988260
@@ -1248,7 +1248,7 @@ port H 4 (1)
Text GLabel 2750 4600 1 42 Output ~ 0
port H 3 (0)
Text Label 2750 3700 3 42 ~ 0
Speaker
Buzzer
Text Label 3150 3700 3 42 ~ 0
Rot_1_A
Text GLabel 3150 4600 1 42 Input ~ 0
@@ -1272,7 +1272,7 @@ port B 5 (1)
Text GLabel 2300 4600 1 42 Output ~ 0
port B 4 (0)
Text Label 2300 3700 3 42 ~ 0
Buzzer
-----
Text Label 2100 3700 3 42 ~ 0
PPM_OUT
Text GLabel 2100 4600 1 42 Output ~ 0
@@ -41010,14 +41010,14 @@ F 3 "" H 10450 3850 60 0001 C CNN
1 10450 3850
-1 0 0 -1
$EndComp
Text Label 2250 3300 2 42 ~ 0
Text Label 2300 3150 2 42 ~ 0
M2560 output
Text GLabel 1050 3300 2 42 Output ~ 0
Text GLabel 1100 3150 2 42 Output ~ 0
port pin (init. state)
Text Notes 1250 3200 0 60 ~ 0
Text Notes 1300 3050 0 60 ~ 0
Pinout caption :
Text Label 5750 2400 2 42 ~ 0
Gain = 1 + R2/R6
Gain = 1 + R2/(R6/2)
$Bitmap
Pos 4600 4650
Scale 1.000000
@@ -41629,9 +41629,9 @@ Wire Wire Line
Wire Wire Line
10450 4100 10450 4200
Wire Wire Line
1800 3300 2250 3300
1850 3150 2300 3150
Wire Wire Line
950 3300 1050 3300
1000 3150 1100 3150
Wire Wire Line
4450 4300 4450 6450
Wire Wire Line
@@ -41696,15 +41696,15 @@ F 3 "" H 1750 7050 60 0000 C CNN
-1 0 0 1
$EndComp
Text Notes 4850 6650 0 42 ~ 0
LCD supported : ST7565P, ST7565R, ERC12864FSF, ST7920\nProtocol = 6800, 8 bits parallel mode\n\nLCD pinout labels (may differ, depending of brand) :\nRD = Read or Enable on ST7920\nWR = Write or Write(0)/Read(1) on ST7920\nA0 = R/S (register select) or D/I (data/instruction select)\nRST = RES (reset)\nCS = Chip Select (not used on ST7920)
Text Label 2250 3400 2 42 ~ 0
LCD supported : ST7565P, ST7565R, ERC12864FSF, ST7920, KS108\nProtocol = 6800, 8 bits parallel mode\n\nLCD pinout labels (may differ, default = ST7565P) :\nRD = (Read) or (ST7920 : Enable)\nWR = (Write) or (ST7920 : Write(0)/Read(1)) or (KS108 : CS2)\nA0 = (R/S register select) or (D/I data/instruction select)\nRST = (RES reset)\nCS = (Chip Select) or (ST7920 : not used) or (KS108 : CS1)
Text Label 2300 3250 2 42 ~ 0
M2560 input
Text GLabel 1050 3400 2 42 Input ~ 0
Text GLabel 1100 3250 2 42 Input ~ 0
port pin (init. state)
Wire Wire Line
1800 3400 2250 3400
1850 3250 2300 3250
Wire Wire Line
950 3400 1050 3400
1000 3250 1100 3250
Text Notes 4850 7350 0 42 ~ 0
NOTA : all features are optional.\nM2560 can properly work without PPM / power management,\nswitch deboucing, stick voltage protection or rotary encoder.\nMinimum requirement is just LCD and navigation keys. Some\nswitches could be usefull, especially for flight conditions, but\nnot fundamental.
$Comp
@@ -41938,17 +41938,19 @@ Wire Wire Line
Wire Wire Line
2000 4600 2000 4750
Text Label 2850 3700 3 42 ~ 0
Somo_Data
Voice_Data
Wire Wire Line
2850 4150 2850 3700
Text Label 2950 3700 3 42 ~ 0
Somo_Clock
Voice_Clock
Wire Wire Line
2950 4150 2950 3700
Text Label 3750 3700 3 42 ~ 0
Somo_Reset
Voice_Reset
Wire Wire Line
3750 4150 3750 3700
Text Notes 10400 1300 0 60 ~ 0
R6 is optional
Text Notes 1000 3500 0 42 ~ 0
Voice module supported :\nWTV20, pins = data, busy, clock, reset\nJQ6500, pins = data (serial), busy
$EndSCHEMATC
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.