As the accessory port is being ignored as an output port here (I haven't found here it's used somewhere), I created script that sends text string to the port.
Spoiler :
acsend.sh:
Code:
#!/bin/sh
ac='/sys/devices/system/mx50_accessory/mx50_accessory0/mx50_accessory_state'
rate=10000
nullstop=$(expr 3 \* ${rate})
get_chcode()
{
echo $(printf '%d' "$'$1")
}
binconv()
{
padto=0
[ ${#2} -ne 0 ] && padto=${2}
bstr=''
d=0
num=${1}
while [ ${num} -ne 0 ]; do
d=$(expr ${d} + 1)
bit=$(expr ${num} % 2)
bstr="${bit}""${bstr}"
num=$(expr ${num} / 2)
done
while true; do
[ ${padto} -eq 0 ] && break
[ ${d} -ge ${padto} ] && break
padleft=$(expr ${padto} - ${d})
bnulls=''
for i in $(seq 1 ${padleft}); do
bnulls="${bnulls}"'0'
done
bstr="${bnulls}""${bstr}"
break
done
echo "${bstr}"
}
[ ${#1} -eq 0 ] && return 1
str=''
for i in $(seq 0 $(expr ${#1} - 1)); do
code=$(get_chcode "${1:${i}:1}")
[ ${i} -ne 0 ] && str="${str}"' '
str="${str}""$(binconv ${code} 8)"
done
str="${str}"' '
sto=$(expr ${#str} - 1)
chp=0
echo -n "${1:${chp}:1}"
for i in $(seq 0 ${sto}); do
state="${str:${i}:1}"
[ "${state}" == ' ' ] &&
{
echo 0 > ${ac}
usleep ${nullstop}
chp=$(expr ${chp} + 1)
[ ${i} -ne ${sto} ] && echo -n "${1:${chp}:1}"
continue
}
echo ${state} > ${ac}
usleep ${rate}
done
echo
Connect the LED to the port and try it with ./acsend.sh 'Hello World!'!
Timing is very unreliable because it's shell script, but it's not bad anyway.