Efectivamente saqué mucho de ahí
Conseguí hacer funcionar los thread pero me ha dado otro problema. El BT es un recurso compartido que tiene que enviar y recibir datos, es decir recibo datos cada 2 segundos y envío datos varias veces por segundo.
El problema viene porque cuando llamo a la función de BT de recibir datos, se queda a la espera de que haya datos (cada 2 segundos, 14 bytes nuevos), lo que hace que durante ese tiempo no envíe nada. Al final lo que me está haciendo es que cada dos segundos envía y recibe un mensaje, o sea el envío se produce sólo cuando el BT queda libre que es justo después de que termine la función de recibir dato. Eso no me vale porque tengo que enviar datos con una frecuencia mucho mayor que con la que recibo.
Si trato de enviar un dato cuando está la función de recibir activa, la aplicación da error y se cierra o se cuelga. Implementé un lock y con acquire() y release() controlo que eso no suceda, pero probé a ver qué pasaba quitando el lock y evidentemente se quejaba...
He visto que existe un flag para la función sock.send que es MSG_DONTWAIT y que me vendría al pelo, pero pys60 no parece reconocerlo
Ignoro si se podrá implementar algún timeout para la función de alguna manera, con eso creo que lo tendría solucionado...
Gracias