blob: ac008786868fceb03cb2b28138d0a57a65f6d355 [file] [log] [blame]
Tommy Carpenterfbb59282020-04-08 07:04:51 -04001# ==================================================================================
2# Copyright (c) 2019 Nokia
3# Copyright (c) 2018-2019 AT&T Intellectual Property.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16# ==================================================================================
17from ricxappframe.rmr import rmr
18import time
19import sys
20import signal
21
22
Lott, Christopher (cl778h)61270902020-05-06 09:23:55 -040023# Demonstrate RMR cleanup
Tommy Carpenterfbb59282020-04-08 07:04:51 -040024def signal_handler(sig, frame):
Lott, Christopher (cl778h)61270902020-05-06 09:23:55 -040025 print("SIGINT received! Cleaning up RMR")
Tommy Carpenterfbb59282020-04-08 07:04:51 -040026 rmr.rmr_close(mrc)
27 print("Byeee")
28 sys.exit(0)
29
30
31# init rmr
32mrc = rmr.rmr_init("4560".encode("utf-8"), rmr.RMR_MAX_RCV_BYTES, 0x00)
33while rmr.rmr_ready(mrc) == 0:
34 time.sleep(1)
35 print("not yet ready")
36rmr.rmr_set_stimeout(mrc, 2)
37
38# capture ctrl-c
39signal.signal(signal.SIGINT, signal_handler)
40
41
42sbuf = None
43while True:
44 print("Waiting for a message, will timeout after 2000ms")
45 sbuf = rmr.rmr_torcv_msg(mrc, sbuf, 2000)
46 summary = rmr.message_summary(sbuf)
Lott, Christopher (cl778h)61270902020-05-06 09:23:55 -040047 if summary[rmr.RMR_MS_MSG_STATE] == 12:
Tommy Carpenterfbb59282020-04-08 07:04:51 -040048 print("Nothing received =(")
49 else:
50 print("Message received!: {}".format(summary))
51 val = b"message recieved OK yall!"
52 rmr.set_payload_and_length(val, sbuf)
53 sbuf = rmr.rmr_rts_msg(mrc, sbuf)
54 time.sleep(1)