File indexing completed on 2025-05-11 08:24:44
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038 #ifdef HAVE_CONFIG_H
0039 #include "config.h"
0040 #endif
0041
0042 #include "system.h"
0043
0044 rtems_task Task_2(
0045 rtems_task_argument argument
0046 )
0047 {
0048 long buffer[ 4 ];
0049 size_t size;
0050 rtems_task_priority previous_priority;
0051 rtems_status_code status;
0052
0053 puts(
0054 "TA2 - rtems_message_queue_receive - receive from queue 1 - RTEMS_NO_WAIT"
0055 );
0056 status = rtems_message_queue_receive(
0057 Queue_id[ 1 ],
0058 buffer,
0059 &size,
0060 RTEMS_NO_WAIT,
0061 RTEMS_NO_TIMEOUT
0062 );
0063 directive_failed( status, "rtems_message_queue_receive" );
0064 puts_nocr( "TA2 - buffer received: " );
0065 Put_buffer( buffer );
0066 new_line;
0067
0068 puts(
0069 "TA2 - rtems_message_queue_receive - receive from queue 1 - "
0070 "RTEMS_WAIT FOREVER"
0071 );
0072 status = rtems_message_queue_receive(
0073 Queue_id[ 1 ],
0074 buffer,
0075 &size,
0076 RTEMS_DEFAULT_OPTIONS,
0077 RTEMS_NO_TIMEOUT
0078 );
0079 directive_failed( status, "rtems_message_queue_receive" );
0080 puts_nocr( "TA2 - buffer received: " );
0081 Put_buffer( buffer );
0082 new_line;
0083
0084 puts(
0085 "TA2 - rtems_message_queue_receive - receive from queue 1 - "
0086 "RTEMS_WAIT FOREVER"
0087 );
0088 status = rtems_message_queue_receive(
0089 Queue_id[ 1 ],
0090 buffer,
0091 &size,
0092 RTEMS_DEFAULT_OPTIONS,
0093 RTEMS_NO_TIMEOUT
0094 );
0095 directive_failed( status, "rtems_message_queue_receive" );
0096 puts_nocr( "TA2 - buffer received: " );
0097 Put_buffer( buffer );
0098 new_line;
0099
0100 puts( "TA2 - rtems_task_set_priority - make self highest priority task" );
0101 status = rtems_task_set_priority( RTEMS_SELF, 3, &previous_priority );
0102 directive_failed( status, "rtems_task_set_priority" );
0103
0104 puts(
0105 "TA2 - rtems_message_queue_receive - receive from queue 2 - "
0106 "RTEMS_WAIT FOREVER"
0107 );
0108 status = rtems_message_queue_receive(
0109 Queue_id[ 2 ],
0110 buffer,
0111 &size,
0112 RTEMS_DEFAULT_OPTIONS,
0113 RTEMS_NO_TIMEOUT
0114 );
0115 directive_failed( status, "rtems_message_queue_receive" );
0116 puts_nocr( "TA2 - buffer received: " );
0117 Put_buffer( buffer );
0118 new_line;
0119
0120 Fill_buffer( "BUFFER 2 TO Q 2", (long *)buffer );
0121 puts( "TA2 - rtems_message_queue_send - BUFFER 2 TO Q 2" );
0122 status = rtems_message_queue_send( Queue_id[ 2 ], buffer, MESSAGE_SIZE );
0123 directive_failed( status, "rtems_message_queue_send" );
0124
0125 puts(
0126 "TA2 - rtems_message_queue_receive - receive from queue 1 - "
0127 "10 second timeout"
0128 );
0129 status = rtems_message_queue_receive(
0130 Queue_id[ 1 ],
0131 buffer,
0132 &size,
0133 RTEMS_DEFAULT_OPTIONS,
0134 10 * rtems_clock_get_ticks_per_second()
0135 );
0136 directive_failed( status, "rtems_message_queue_receive" );
0137 puts_nocr( "TA2 - buffer received: " );
0138 Put_buffer( buffer );
0139 new_line;
0140
0141 puts(
0142 "TA2 - rtems_message_queue_receive - receive from queue 3 - "
0143 "RTEMS_WAIT FOREVER"
0144 );
0145 status = rtems_message_queue_receive(
0146 Queue_id[ 3 ],
0147 buffer,
0148 &size,
0149 RTEMS_DEFAULT_OPTIONS,
0150 RTEMS_NO_TIMEOUT
0151 );
0152 directive_failed( status, "rtems_message_queue_receive" );
0153 puts_nocr( "TA2 - buffer received: " );
0154 Put_buffer( buffer );
0155 new_line;
0156
0157 }