n5pwp
Member
I've had several of these crashes today. op25 has run for better than a week with no problems. Does this indicate that I'm running into noise issues with the data? Also, I don't know why it shows the path as pointing at the boatbod install of op25. I created the symlink like you demonstrated. I thought if I launched the start command from the normal op25 directory structure that it would use that data. Why does the path point back to the op25.boatbod directory tree?
===========================
terminal: exception occurred (80, 24)
terminal: exception:
Traceback (most recent call last):
File "/home/pi/op25.boatbod/op25/gr-op25_repeater/apps/terminal.py", line 227, in run
if self.process_q_events():
File "/home/pi/op25.boatbod/op25/gr-op25_repeater/apps/terminal.py", line 218, in process_q_events
return self.process_json(msg.to_string())
File "/home/pi/op25.boatbod/op25/gr-op25_repeater/apps/terminal.py", line 204, in process_json
self.active2.addstr(0, 0, s)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 13: ordinal not in range(128)
======================
I did a Google on the last error:
--------------------------
When you do str(u'\u2013') you are trying to convert the Unicode string to a 8-bit string. To do this you need to use an encoding, a mapping between Unicode data to 8-bit data. What str() does is that is uses the system default encoding, which under Python 2 is ASCII. ASCII contains only the 127 first code points of Unicode, that is \u0000 to \u007F1. The result is that you get the above error, the ASCII codec just doesn't know what \u2013 is (it's a long dash, btw).
You therefore need to specify which encoding you want to use. Common ones are ISO-8859-1, most commonly known as Latin-1, which contains the 256 first code points; UTF-8, which can encode all code-points by using variable length encoding, CP1252 that is common on Windows, and various Chinese and Japanese encodings.
---------------------------
Here's the code that was used to create a boatbod op25 directory and then link it to op25. Once you build, make and install doesn't it put it in the op25 directory? So I should be starting the program in the op25/.../apps directory rather than the op25.boatbod/.../apps directory, right? Do I have it backwards?
mv op25 op25.max
git clone https://github.com/boatbod/op25 op25.boatbod
ln -s op25.boatbod op25
cd op25
mkdir build
cd build
cmake ../
make
sudo make install
Mike
===========================
terminal: exception occurred (80, 24)
terminal: exception:
Traceback (most recent call last):
File "/home/pi/op25.boatbod/op25/gr-op25_repeater/apps/terminal.py", line 227, in run
if self.process_q_events():
File "/home/pi/op25.boatbod/op25/gr-op25_repeater/apps/terminal.py", line 218, in process_q_events
return self.process_json(msg.to_string())
File "/home/pi/op25.boatbod/op25/gr-op25_repeater/apps/terminal.py", line 204, in process_json
self.active2.addstr(0, 0, s)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 13: ordinal not in range(128)
======================
I did a Google on the last error:
--------------------------
When you do str(u'\u2013') you are trying to convert the Unicode string to a 8-bit string. To do this you need to use an encoding, a mapping between Unicode data to 8-bit data. What str() does is that is uses the system default encoding, which under Python 2 is ASCII. ASCII contains only the 127 first code points of Unicode, that is \u0000 to \u007F1. The result is that you get the above error, the ASCII codec just doesn't know what \u2013 is (it's a long dash, btw).
You therefore need to specify which encoding you want to use. Common ones are ISO-8859-1, most commonly known as Latin-1, which contains the 256 first code points; UTF-8, which can encode all code-points by using variable length encoding, CP1252 that is common on Windows, and various Chinese and Japanese encodings.
---------------------------
Here's the code that was used to create a boatbod op25 directory and then link it to op25. Once you build, make and install doesn't it put it in the op25 directory? So I should be starting the program in the op25/.../apps directory rather than the op25.boatbod/.../apps directory, right? Do I have it backwards?
mv op25 op25.max
git clone https://github.com/boatbod/op25 op25.boatbod
ln -s op25.boatbod op25
cd op25
mkdir build
cd build
cmake ../
make
sudo make install
Mike