Forum Replies Created
-
AuthorPosts
-
Georg, DD8ZXUser
Problem solved. Renamed the language files to en_US, deleted old en_US and copied them to the sounds directory. Speaking perfect German now!
73
Georg, DD8ZX
Georg, DD8ZXUserHi,
I got it to work.
I was a bit p o ed last night and scratched the SD-card, copied a freshly downloaded image on the card and redid everything.It is even speaking perfect German now, including correct pronunciation of the 24-hour clock. I followed you advise and just renamed the directory de_DE to en_US and it worked.
Thank you for your help!
73
Georg, DD8ZX
Georg, DD8ZXUserSorry, here some more infos I forgott tell you.
I do have the hardware manual and there I learned that if the PTT is activated, a red LED will light up. This does not happen. If I turn down the squelch on the connected radio (Yaesu FT-8100) a red LED does light up, so this part works.
73
Georg, DD8ZXGeorg, DD8ZXUserI just tested it again. Changed port# to 504, pressed update ports, started recompile and svxlink started without error. Changed back to 506, pressed ports update, pressed recompile and svxlink keeps coming up with the error. Also a reboot did not help.
I used your .IMG file, why should I compile it myself if you have done all the dirty work for me already?
I do have some rudimentary know how about sql, but I do not feel competent enough to extract the pieces from the database.
What still bugs me is the fact that the systems claims that pin506 is in use. Who claims pin506? And why is it evidently not set up correctly, but 504 instead?
73
Georg, DD8ZX
Georg, DD8ZXUserHi,
I changed it to pin504 because that pin was shown as available. If I enter it in the config page svxlink runs OK.gpio.config tries to insert pin504 even though it should be 506.
Is there a persistent logfile which shows what is happening at boot Time?
73
Georg, DD8ZXGeorg, DD8ZXUserGood Morning,
I already tried this before I contacted you.
qte
root@DL0DLH:/sys/class/gpio# echo 506 > /sys/class/gpio/export
-bash: echo: Schreibfehler: Das Gerät oder die Ressource ist belegt.
unqte
In English: The device or resource is busy.
I assume that this also happens when the startup sequence tries to initialize the pin.
I also ran i2cdetect and get “UU” at address 0a and 20, so the chip is being recognized.Contents of gpio.conf
qte
###############################################################################
#
# OPENREPEATER / SVXLINK CONFIGURATION FILE
# This file was auto generated by OpenRepeater.
# DO NOT MAKE CHANGES IN THIS FILE AS THEY WILL BE OVERWRITTEN
#
##############################################################################################################################################################
#
# Configuration file for the SvxLink server GPIO Pins
#
################################################################################ GPIO system pin path
# RPi/odroid/nanopi/pine64 = /sys/class/gpio, orangpi = /sys/class/gpio_sw
GPIO_PATH=/sys/class/gpio# Space separated list of GPIO pins that point IN and have an
# Active HIGH state (3.3v = ON, 0v = OFF)
GPIO_IN_HIGH=””# Space separated list of GPIO pins that point IN and have an
# Active LOW state (0v = ON, 3.3v = OFF)
GPIO_IN_LOW=”gpio26″# Space separated list of GPIO pins that point OUT and have an
# Active HIGH state (3.3v = ON, 0v = OFF)
GPIO_OUT_HIGH=”gpio504″# Space separated list of GPIO pins that point OUT and have an
# Active LOW state (0v = ON, 3.3v = OFF)
GPIO_OUT_LOW=””# User that should own the GPIO device files
GPIO_USER=”svxlink”# Group for the GPIO device files
GPIO_GROUP=”daemon”# File access mode for the GPIO device files
GPIO_MODE=”0664″root@DL0DLH:/etc/svxlink#
unqteLooking at the file I get the impression it tries to define pin504 for input and output.
Thank you73
Georg, DD8ZX
Georg, DD8ZXGeorg, DD8ZXUserHi
in addition to my above post I changed the GPIO pin # from 506 which is loaded by interface preload with 504 for which entries in /sys/class/gpio exist. See log file:
qte
Mon Jul 1 15:25:24 2019: *** ERROR: Could not open GPIO /sys/class/gpio/gpio506/value for writing in transmitter TX_Port1.
Mon Jul 1 15:25:24 2019: *** ERROR: Could not initialize TX “TX_Port1”
Mon Jul 1 15:25:24 2019: *** ERROR: Could not initialize Logic object “ORP_SimplexLogic_Port1”. Skipping…
Mon Jul 1 15:25:24 2019: *** ERROR: No logics available. Bailing out…
Mon Jul 1 15:26:02 2019: SvxLink v1.6.1 Copyright (C) 2003-2017 Tobias Blomberg / SM0SVX
Mon Jul 1 15:26:02 2019:
Mon Jul 1 15:26:02 2019: SvxLink comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
Mon Jul 1 15:26:02 2019: welcome to redistribute it in accordance with the terms and conditions in the
Mon Jul 1 15:26:02 2019: GNU GPL (General Public License) version 2 or later.
Mon Jul 1 15:26:02 2019:
Mon Jul 1 15:26:02 2019: Using configuration file: /etc/svxlink/svxlink.conf
Mon Jul 1 15:26:02 2019: — Using sample rate 48000Hz
Mon Jul 1 15:26:02 2019:
Mon Jul 1 15:26:02 2019: Starting logic: ORP_SimplexLogic_Port1
Mon Jul 1 15:26:02 2019: Loading RX: RX_Port1
Mon Jul 1 15:26:02 2019: Loading TX: TX_Port1
Mon Jul 1 15:26:02 2019: ORP_SimplexLogic_Port1: Event handler script successfully loaded.
unqteUnfortunately GPIO504 is not connected to the PTT…
I am not familiar with GPIO extension chip and cannot figure out which pin # corresponds to GPB2 on the GPIO expander chip.
Thank you for your advise
73Georg, DD8ZX
Georg, DD8ZXUserHi,
/usr/share/svxlink/events.d/local/locale.tcl is correct.############################################################################### # # Locale specific functions for playing back time, numbers and spelling words. # Often, the functions in this file are the only ones that have to be # reimplemented for a new language pack. # ############################################################################### # # Spell the specified word using a phonetic alphabet # proc spellWord {word} { set word [string tolower $word]; for {set i 0} {$i < [string length $word]} {set i [expr $i + 1]} { set char [string index $word $i]; if {$char == "*"} { playMsg "Default" "star"; } elseif {$char == "/"} { playMsg "Default" "slash"; } elseif {$char == "-"} { playMsg "Default" "dash"; } elseif {[regexp {[a-z0-9]} $char]} { playMsg "Default" "phonetic_$char"; } } } # # Spell the specified number digit for digit # proc spellNumber {number} { for {set i 0} {$i < [string length $number]} {set i [expr $i + 1]} { set ch [string index $number $i]; if {$ch == "."} { playMsg "Default" "decimal"; } else { playMsg "Default" "$ch"; } } } # # Say the specified two digit number (00 - 99) # proc playTwoDigitNumber {number} { if {[string length $number] != 2} { puts "*** WARNING: Function playTwoDigitNumber received a non two digit number: $number"; return; } set first [string index $number 0]; if {($first == "0") || ($first == "O")} { playMsg "Default" $first; playMsg "Default" "[string index $number 1]"; } elseif {$first == "1"} { playMsg "Default" $number; } elseif {[string index $number 1] == "0"} { playMsg "Default" $number; } else { if { [string index $number 1] == "1"} { playMsg "Default" "ein"; } elseif { [string index $number 1] == "2"} { playMsg "Default" "zwo"; } else { playMsg "Default" "[string index $number 1]"; } playMsg "Default" "[string index $number 0]X"; } } # # Say the specified three digit number (000 - 999) # proc playThreeDigitNumber {number} { if {[string length $number] != 3} { puts "*** WARNING: Function playThreeDigitNumber received a non three digit number: $number"; return; } set first [string index $number 0]; if {($first == "0") || ($first == "O")} { spellNumber $number } else { append first "00"; playMsg "Default" $first; if {[string index $number 1] != "0"} { playMsg "Default" "and" playTwoDigitNumber [string range $number 1 2]; } elseif {[string index $number 2] != "0"} { playMsg "Default" "and" playMsg "Default" [string index $number 2]; } } } # # Say a number as intelligent as posible. Examples: # # 1 - one # 24 - twentyfour # 245 - twohundred and fourtyfive # 1234 - twelve thirtyfour # 12345 - onehundred and twentythree fourtyfive # 136.5 - onehundred and thirtysix point five # proc playNumber {number} { if {[regexp {\-(\d+)?} $number]} { playMsg "Default" "minus"; } if {[regexp {(\d+)\.(\d+)?} $number -> integer fraction]} { playNumber $integer; playMsg "Default" "decimal"; spellNumber $fraction; return; } while {[string length $number] > 0} { set len [string length $number]; if {$len == 1} { playMsg "Default" $number; set number ""; } elseif {$len % 2 == 0} { playTwoDigitNumber [string range $number 0 1]; set number [string range $number 2 end]; } else { playThreeDigitNumber [string range $number 0 2]; set number [string range $number 3 end]; } } } proc playTime {hour minute} { scan $hour "%d" hour; scan $minute "%d" minute; if {$hour == 0} { set hour 0; } if {$hour == 1} { playMsg "Default" "ein"; } else { playNumber [expr $hour]; } playMsg "Default" "uhr"; if {$minute != 0} { if {[string length $minute] == 1} { playMsg "Default" "$minute"; } playTwoDigitNumber $minute; } } # # This file has not been truncated #
Just to clarify, usr/share/svxlink/sounds/de_DE contains the German sound files, they are not renamed to German, but retain their original English names, just the contents is German. There are some files with German names when there is no English equivalent like “Uhr”.
Sorry for the trouble
73
Georg, DD8ZXGeorg, DD8ZXUserHi Aaron,
thanks for your speedy reply.
The modified file is located in /usr/share/svxlink/events.d/local, is called locale.tcl. File size about 5 K. Can I just paste it in this window or is there a feature to upload a file?Thank you
73Georg, DD8ZX
-
AuthorPosts