1
1
mirror of https://github.com/OpenVoiceOS/OpenVoiceOS synced 2025-06-05 22:19:21 +02:00

Merge remote-tracking branch 'origin/develop' into feature/wifi-setup

This commit is contained in:
j1nx
2019-09-16 13:57:24 +02:00
272 changed files with 3394 additions and 764 deletions

View File

@@ -1,22 +0,0 @@
#!/bin/sh
#
# Loading boot splash
#
start() {
printf "Loading boot splash ..."
cat /dev/zero 1> /dev/fb0 2>/dev/null
fbv -f -d 1 /opt/mycroft/splash/boot.png > /dev/null 2>&1
echo "[OK]"
}
case "$1" in
start)
start
;;
*)
echo "Usage: $0 {start}"
exit 1
esac
exit $?

View File

@@ -1,25 +0,0 @@
#!/bin/sh
#
# Resize SD card
#
start() {
printf "Resize data partition ..."
parted /dev/mmcblk0 unit % resizepart 2 yes 100% &&
partprobe /dev/mmcblk0 &&
sync &&
resize2fs /dev/mmcblk0p2 &&
chmod -x /etc/init.d/S00resize_sdcard &&
echo "[OK]"
}
case "$1" in
start)
start
;;
*)
echo "Usage: $0 {start}"
exit 1
esac
exit $?

View File

@@ -1,2 +0,0 @@
modprobe snd-bcm2835
#modprobe snd-usb-audio

View File

@@ -1,4 +0,0 @@
alsactl init
amixer cset numid=3 1
amixer sset PCM 95%

View File

@@ -1,47 +0,0 @@
#!/bin/sh
#
# Prepare Mycroft software stack.
#
start() {
# set the right locale / language settings
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
# Check if Mycroft log folders are present and if not
# create those logging folders
if [[ ! -w /var/log/mycroft/ ]] ; then
# Creating needed folders
printf "Creating /var/log/mycroft/ directory"
if [[ ! -d /var/log/mycroft/ ]] ; then
mkdir /var/log/mycroft/
fi
fi
# Check for internet connectivity
if ping -q -c 1 -W 1 1.1.1.1 >/dev/null 2>&1 ; then
return 0
fi
# Check if /.mycroft exist already and if not
# create a symbolic link to /root/.mycroft
if [[ ! -w /.mycroft/ ]] ; then
# Creating .mycroft symlink
printf "Creating /.mycroft/ symlink"
if [[ ! -d /.mycroft/ ]] ; then
ln -s /root/.mycroft /.mycroft
fi
fi
}
case "$1" in
start)
start
;;
*)
echo "Usage: $0 {start}"
exit 1
esac
exit $?

View File

@@ -1,37 +0,0 @@
#!/bin/sh
#
# Starts Mycroft services.
#
start() {
printf "Starting Mycroft services: "
umask 077
bash /usr/bin/start-mycroft.sh all
echo "OK"
}
stop() {
printf "Stopping Mycroft services: "
bash /usr/bin/stop-mycroft.sh all
echo "OK"
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@@ -1,7 +1,17 @@
{
"play_wav_cmdline": "aplay -Dhw:0,0 %1",
"play_mp3_cmdline": "mpg123 -a hw:0,0 %1",
"ipc_path": "/ramdisk/mycroft/ipc/",
"ignore_logs": ["enclosure.mouth.viseme", "enclosure.mouth.display"],
"log_level": "INFO"
"play_wav_cmdline": "aplay -Dhw:0,0 %1",
"play_mp3_cmdline": "mpg123 -a hw:0,0 %1",
"ipc_path": "/ramdisk/mycroft/ipc/",
"enclosure": {
"platform": "MycroftOS",
"platform_build": "0.1.0"
},
"listener": {
"mute_during_output": false
},
"skills": {
"priority_skills": ["mycroft-pairing", "mycroft-volume"]
},
"ignore_logs": ["enclosure.mouth.viseme", "enclosure.mouth.display"],
"log_level": "INFO"
}

View File

@@ -0,0 +1,3 @@
[global]
only-binary=:all:
extra-index-url=https://www.piwheels.org/simple

View File

@@ -29,10 +29,11 @@
# Authentication:
#LoginGraceTime 2m
PermitRootLogin yes
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
AllowUsers *@*
#PubkeyAuthentication yes

View File

@@ -0,0 +1,97 @@
## sudoers file.
##
## This file MUST be edited with the 'visudo' command as root.
## Failure to use 'visudo' may result in syntax or file permission errors
## that prevent sudo from running.
##
## See the sudoers man page for the details on how to write a sudoers file.
##
##
## Host alias specification
##
## Groups of machines. These may include host names (optionally with wildcards),
## IP addresses, network numbers or netgroups.
# Host_Alias WEBSERVERS = www1, www2, www3
##
## User alias specification
##
## Groups of users. These may consist of user names, uids, Unix groups,
## or netgroups.
# User_Alias ADMINS = millert, dowdy, mikef
##
## Cmnd alias specification
##
## Groups of commands. Often used to group related commands together.
# Cmnd_Alias PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
# /usr/bin/pkill, /usr/bin/top
# Cmnd_Alias REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff
##
## Defaults specification
##
## You may wish to keep some of the following environment variables
## when running commands via sudo.
##
## Locale settings
# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
##
## Run X applications through sudo; HOME is used to find the
## .Xauthority file. Note that other programs use HOME to find
## configuration files and this may lead to privilege escalation!
# Defaults env_keep += "HOME"
##
## X11 resource path settings
# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"
##
## Desktop path settings
# Defaults env_keep += "QTDIR KDEDIR"
##
## Allow sudo-run commands to inherit the callers' ConsoleKit session
# Defaults env_keep += "XDG_SESSION_COOKIE"
##
## Uncomment to enable special input methods. Care should be taken as
## this may allow users to subvert the command being run via sudo.
# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
##
## Uncomment to use a hard-coded PATH instead of the user's to find commands
# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
##
## Uncomment to send mail if the user does not enter the correct password.
# Defaults mail_badpass
##
## Uncomment to enable logging of a command's output, except for
## sudoreplay and reboot. Use sudoreplay to play back logged sessions.
# Defaults log_output
# Defaults!/usr/bin/sudoreplay !log_output
# Defaults!/usr/local/bin/sudoreplay !log_output
# Defaults!REBOOT !log_output
##
## Runas alias specification
##
##
## User privilege specification
##
root ALL=(ALL) ALL
## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
## Uncomment to allow members of group sudo to execute any command
# %sudo ALL=(ALL) ALL
## Uncomment to allow any user to run sudo if they know the password
## of the user they are running the command as (root by default).
# Defaults targetpw # Ask for the password of the target user
# ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw'
## Read drop-in files from /etc/sudoers.d
## (the '#' here does not indicate a comment)
#includedir /etc/sudoers.d

View File

@@ -0,0 +1 @@
mycroft ALL=(ALL:ALL) NOPASSWD: ALL

View File

@@ -0,0 +1,4 @@
d /var/log/mycroft 700 mycroft mycroft
d /opt/mycroft 755 mycroft mycroft
d /opt/mycroft/skills 755 mycroft mycroft
d /opt/mycroft/splash 755 mycroft mycroft

View File

@@ -0,0 +1,3 @@
{
"max_allowed_core_version": 19.2
}

View File

@@ -0,0 +1 @@
{"window_t": 0.1, "hop_t": 0.05, "buffer_t": 1.5, "sample_rate": 16000, "sample_depth": 2, "n_mfcc": 13, "n_filt": 20, "n_fft": 512}

View File

@@ -0,0 +1,79 @@
#if defined(__linux__)
# if defined(__x86_64__) && defined(__LP64__)
# include <x86_64-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__x86_64__) && defined(__ILP32__)
# include <x86_64-linux-gnux32/python3.4m/pyconfig.h>
# elif defined(__i386__)
# include <i386-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__aarch64__) && defined(__AARCH64EL__)
# include <aarch64-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__alpha__)
# include <alpha-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP)
# include <arm-linux-gnueabihf/python3.4m/pyconfig.h>
# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP)
# include <arm-linux-gnueabi/python3.4m/pyconfig.h>
# elif defined(__hppa__)
# include <hppa-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__ia64__)
# include <ia64-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__m68k__) && !defined(__mcoldfire__)
# include <m68k-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__mips_hard_float) && defined(_MIPSEL)
# if _MIPS_SIM == _ABIO32
# include <mipsel-linux-gnu/python3.4m/pyconfig.h>
# elif _MIPS_SIM == _ABIN32
# include <mips64el-linux-gnuabin32/python3.4m/pyconfig.h>
# elif _MIPS_SIM == _ABI64
# include <mips64el-linux-gnuabi64/python3.4m/pyconfig.h>
# else
# error unknown multiarch location for pyconfig.h
# endif
# elif defined(__mips_hard_float)
# if _MIPS_SIM == _ABIO32
# include <mips-linux-gnu/python3.4m/pyconfig.h>
# elif _MIPS_SIM == _ABIN32
# include <mips64-linux-gnuabin32/python3.4m/pyconfig.h>
# elif _MIPS_SIM == _ABI64
# include <mips64-linux-gnuabi64/python3.4m/pyconfig.h>
# else
# error unknown multiarch location for pyconfig.h
# endif
# elif defined(__or1k__)
# include <or1k-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__powerpc__) && defined(__SPE__)
# include <powerpc-linux-gnuspe/python3.4m/pyconfig.h>
# elif defined(__powerpc64__)
# if defined(__LITTLE_ENDIAN__)
# include <powerpc64le-linux-gnu/python3.4m/pyconfig.h>
# else
# include <powerpc64-linux-gnu/python3.4m/pyconfig.h>
# endif
# elif defined(__powerpc__)
# include <powerpc-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__s390x__)
# include <s390x-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__s390__)
# include <s390-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__sh__) && defined(__LITTLE_ENDIAN__)
# include <sh4-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__sparc__) && defined(__arch64__)
# include <sparc64-linux-gnu/python3.4m/pyconfig.h>
# elif defined(__sparc__)
# include <sparc-linux-gnu/python3.4m/pyconfig.h>
# else
# error unknown multiarch location for pyconfig.h
# endif
#elif defined(__FreeBSD_kernel__)
# if defined(__LP64__)
# include <x86_64-kfreebsd-gnu/python3.4m/pyconfig.h>
# elif defined(__i386__)
# include <i386-kfreebsd-gnu/python3.4m/pyconfig.h>
# else
# error unknown multiarch location for pyconfig.h
# endif
#elif defined(__gnu_hurd__)
# include <i386-gnu/python3.4m/pyconfig.h>
#else
# error unknown multiarch location for pyconfig.h
#endif

View File

@@ -0,0 +1,159 @@
# Grammar for 2to3. This grammar supports Python 2.x and 3.x.
# Note: Changing the grammar specified in this file will most likely
# require corresponding changes in the parser module
# (../Modules/parsermodule.c). If you can't make the changes to
# that module yourself, please co-ordinate the required changes
# with someone who can; ask around on python-dev for help. Fred
# Drake <fdrake@acm.org> will probably be listening there.
# NOTE WELL: You should also follow all the steps listed in PEP 306,
# "How to Change Python's Grammar"
# Commands for Kees Blom's railroad program
#diagram:token NAME
#diagram:token NUMBER
#diagram:token STRING
#diagram:token NEWLINE
#diagram:token ENDMARKER
#diagram:token INDENT
#diagram:output\input python.bla
#diagram:token DEDENT
#diagram:output\textwidth 20.04cm\oddsidemargin 0.0cm\evensidemargin 0.0cm
#diagram:rules
# Start symbols for the grammar:
# file_input is a module or sequence of commands read from an input file;
# single_input is a single interactive statement;
# eval_input is the input for the eval() and input() functions.
# NB: compound_stmt in single_input is followed by extra NEWLINE!
file_input: (NEWLINE | stmt)* ENDMARKER
single_input: NEWLINE | simple_stmt | compound_stmt NEWLINE
eval_input: testlist NEWLINE* ENDMARKER
decorator: '@' dotted_name [ '(' [arglist] ')' ] NEWLINE
decorators: decorator+
decorated: decorators (classdef | funcdef)
funcdef: 'def' NAME parameters ['->' test] ':' suite
parameters: '(' [typedargslist] ')'
typedargslist: ((tfpdef ['=' test] ',')*
('*' [tname] (',' tname ['=' test])* [',' '**' tname] | '**' tname)
| tfpdef ['=' test] (',' tfpdef ['=' test])* [','])
tname: NAME [':' test]
tfpdef: tname | '(' tfplist ')'
tfplist: tfpdef (',' tfpdef)* [',']
varargslist: ((vfpdef ['=' test] ',')*
('*' [vname] (',' vname ['=' test])* [',' '**' vname] | '**' vname)
| vfpdef ['=' test] (',' vfpdef ['=' test])* [','])
vname: NAME
vfpdef: vname | '(' vfplist ')'
vfplist: vfpdef (',' vfpdef)* [',']
stmt: simple_stmt | compound_stmt
simple_stmt: small_stmt (';' small_stmt)* [';'] NEWLINE
small_stmt: (expr_stmt | print_stmt | del_stmt | pass_stmt | flow_stmt |
import_stmt | global_stmt | exec_stmt | assert_stmt)
expr_stmt: testlist_star_expr (augassign (yield_expr|testlist) |
('=' (yield_expr|testlist_star_expr))*)
testlist_star_expr: (test|star_expr) (',' (test|star_expr))* [',']
augassign: ('+=' | '-=' | '*=' | '@=' | '/=' | '%=' | '&=' | '|=' | '^=' |
'<<=' | '>>=' | '**=' | '//=')
# For normal assignments, additional restrictions enforced by the interpreter
print_stmt: 'print' ( [ test (',' test)* [','] ] |
'>>' test [ (',' test)+ [','] ] )
del_stmt: 'del' exprlist
pass_stmt: 'pass'
flow_stmt: break_stmt | continue_stmt | return_stmt | raise_stmt | yield_stmt
break_stmt: 'break'
continue_stmt: 'continue'
return_stmt: 'return' [testlist]
yield_stmt: yield_expr
raise_stmt: 'raise' [test ['from' test | ',' test [',' test]]]
import_stmt: import_name | import_from
import_name: 'import' dotted_as_names
import_from: ('from' ('.'* dotted_name | '.'+)
'import' ('*' | '(' import_as_names ')' | import_as_names))
import_as_name: NAME ['as' NAME]
dotted_as_name: dotted_name ['as' NAME]
import_as_names: import_as_name (',' import_as_name)* [',']
dotted_as_names: dotted_as_name (',' dotted_as_name)*
dotted_name: NAME ('.' NAME)*
global_stmt: ('global' | 'nonlocal') NAME (',' NAME)*
exec_stmt: 'exec' expr ['in' test [',' test]]
assert_stmt: 'assert' test [',' test]
compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated
if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite]
while_stmt: 'while' test ':' suite ['else' ':' suite]
for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
try_stmt: ('try' ':' suite
((except_clause ':' suite)+
['else' ':' suite]
['finally' ':' suite] |
'finally' ':' suite))
with_stmt: 'with' with_item (',' with_item)* ':' suite
with_item: test ['as' expr]
with_var: 'as' expr
# NB compile.c makes sure that the default except clause is last
except_clause: 'except' [test [(',' | 'as') test]]
suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT
# Backward compatibility cruft to support:
# [ x for x in lambda: True, lambda: False if x() ]
# even while also allowing:
# lambda x: 5 if x else 2
# (But not a mix of the two)
testlist_safe: old_test [(',' old_test)+ [',']]
old_test: or_test | old_lambdef
old_lambdef: 'lambda' [varargslist] ':' old_test
test: or_test ['if' or_test 'else' test] | lambdef
or_test: and_test ('or' and_test)*
and_test: not_test ('and' not_test)*
not_test: 'not' not_test | comparison
comparison: expr (comp_op expr)*
comp_op: '<'|'>'|'=='|'>='|'<='|'<>'|'!='|'in'|'not' 'in'|'is'|'is' 'not'
star_expr: '*' expr
expr: xor_expr ('|' xor_expr)*
xor_expr: and_expr ('^' and_expr)*
and_expr: shift_expr ('&' shift_expr)*
shift_expr: arith_expr (('<<'|'>>') arith_expr)*
arith_expr: term (('+'|'-') term)*
term: factor (('*'|'@'|'/'|'%'|'//') factor)*
factor: ('+'|'-'|'~') factor | power
power: atom trailer* ['**' factor]
atom: ('(' [yield_expr|testlist_gexp] ')' |
'[' [listmaker] ']' |
'{' [dictsetmaker] '}' |
'`' testlist1 '`' |
NAME | NUMBER | STRING+ | '.' '.' '.')
listmaker: (test|star_expr) ( comp_for | (',' (test|star_expr))* [','] )
testlist_gexp: (test|star_expr) ( comp_for | (',' (test|star_expr))* [','] )
lambdef: 'lambda' [varargslist] ':' test
trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
subscriptlist: subscript (',' subscript)* [',']
subscript: test | [test] ':' [test] [sliceop]
sliceop: ':' [test]
exprlist: (expr|star_expr) (',' (expr|star_expr))* [',']
testlist: test (',' test)* [',']
dictsetmaker: ( (test ':' test (comp_for | (',' test ':' test)* [','])) |
(test (comp_for | (',' test)* [','])) )
classdef: 'class' NAME ['(' [arglist] ')'] ':' suite
arglist: (argument ',')* (argument [',']
|'*' test (',' argument)* [',' '**' test]
|'**' test)
argument: test [comp_for] | test '=' test # Really [keyword '='] test
comp_iter: comp_for | comp_if
comp_for: 'for' exprlist 'in' testlist_safe [comp_iter]
comp_if: 'if' old_test [comp_iter]
testlist1: test (',' test)*
# not used in grammar, but may appear in "node" passed from Parser to Compiler
encoding_decl: NAME
yield_expr: 'yield' [yield_arg]
yield_arg: 'from' test | testlist

View File

@@ -0,0 +1,28 @@
# Copyright 2006 Google, Inc. All Rights Reserved.
# Licensed to PSF under a Contributor Agreement.
# A grammar to describe tree matching patterns.
# Not shown here:
# - 'TOKEN' stands for any token (leaf node)
# - 'any' stands for any node (leaf or interior)
# With 'any' we can still specify the sub-structure.
# The start symbol is 'Matcher'.
Matcher: Alternatives ENDMARKER
Alternatives: Alternative ('|' Alternative)*
Alternative: (Unit | NegatedUnit)+
Unit: [NAME '='] ( STRING [Repeater]
| NAME [Details] [Repeater]
| '(' Alternatives ')' [Repeater]
| '[' Alternatives ']'
)
NegatedUnit: 'not' (STRING | NAME [Details] | '(' Alternatives ')')
Repeater: '*' | '+' | '{' NUMBER [',' NUMBER] '}'
Details: '<' Alternatives '>'

Some files were not shown because too many files have changed in this diff Show More