Невозможно заставить работать передачу сообщений при вызове метода класса из main(). Метод класса содержит вызов функцииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно заставить работать передачу сообщений при вызове метода класса из main(). Метод класса содержит вызов функции

Сообщение Anonymous »

Я пытаюсь отправить сообщение из модуля OOT в модуль gr-display. Эта задача является частью большого проекта со сложной блок-схемой. Поэтому я собираюсь предоставить только соответствующую часть кода. Надеюсь, этого достаточно, чтобы понять мою проблему и дать некоторое объяснение.
Модуль OOT ft8_rxtx подключен к модулю gr-display в блок-графе.
Код следующий:

Код: Выделить всё

from gnuradio import gr
import pmt

class ft8_rxtx(gr.basic_block):
"""
docstring for block ft8_rxtx
"""
def __init__(self, ptt_button, band_selector):
gr.basic_block.__init__(self,
name="ft8_rxtx",
in_sig=[],
out_sig=[])
self.ptt_button = ptt_button
self.band_selector = band_selector
self.portName = "text_out"
self.message_port_register_out(pmt.intern(self.portName))

def set_FT8(self, FT8_button):
if FT8_button == 1:
self.send_msg("Help")
PMT_msg = pmt.to_pmt("Help")
self.message_port_pub(pmt.intern(self.portName), PMT_msg)
main()
else:
quit()

def send_msg(self, msg):
PMT_msg = pmt.to_pmt(msg)
self.message_port_pub(pmt.intern(self.portName), PMT_msg)

def main():

gen_msg = ft8_rxtx(0,1)
gen_msg.send_msg("MAIN")

In main() I am calling send_msg as evidenced by the use of a print statement in the method which correctly displays MAIN. However, the message_port_pub() does not send the message to the gr-display.

Если вызывается set_FT8, self.send_msg(“Help”) выполняется правильно, и self.message_port_pub() выполняется правильно. Оба отправляют сообщение «Помощь» на gr-display.
Таким образом, передача сообщений работает при вызове send_msg из метода класса, но не работает при вызове из main(). Почему нет? Что я упускаю?
Джим

Подробнее здесь: https://stackoverflow.com/questions/792 ... main-the-c
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»