Changeset b10a434 in mainline for uspace/app/tmon/burst_tests.c
- Timestamp:
- 2017-12-22T13:22:54Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 00d23a2
- Parents:
- 96c416a
- git-author:
- Petr Mánek <petr.manek@…> (2017-12-22 13:22:51)
- git-committer:
- Petr Mánek <petr.manek@…> (2017-12-22 13:22:54)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/tmon/burst_tests.c
r96c416a rb10a434 43 43 #include "tf.h" 44 44 45 #define NAME "tmon" 45 #define NAME "tmon" 46 #define INDENT " " 46 47 47 48 typedef struct tmon_burst_test_params { … … 103 104 } 104 105 106 static void print_params(const tmon_burst_test_params_t *params) 107 { 108 printf(INDENT "Number of cycles: %d\n", params->cycles); 109 printf(INDENT "Data size: %ld B\n", params->size); 110 } 111 112 static void print_results(const tmon_burst_test_params_t *params, usbdiag_dur_t duration) 113 { 114 printf(INDENT "Total duration: %ld ms\n", duration); 115 116 const double dur_per_cycle = (double) duration / (double) params->cycles; 117 printf(INDENT "Duration per cycle: %0.3f ms\n", dur_per_cycle); 118 119 const double speed = (double) params->size / (double) duration; 120 printf(INDENT "Transfer speed: %0.3f B/s\n", speed); 121 } 122 105 123 static int run_intr_in(async_exch_t *exch, const tmon_test_params_t *generic_params) 106 124 { 107 125 const tmon_burst_test_params_t *params = (tmon_burst_test_params_t *) generic_params; 108 printf("Executing interrupt in test.\n" 109 " Number of cycles: %d\n" 110 " Data size: %ld B\n", params->cycles, params->size); 111 112 int rc = usbdiag_burst_intr_in(exch, params->cycles, params->size); 113 if (rc) { 114 printf(NAME ": Test failed. %s\n", str_error(rc)); 115 return 1; 116 } 117 126 puts("Reading data from interrupt endpoint.\n"); 127 print_params(params); 128 129 usbdiag_dur_t duration; 130 int rc = usbdiag_burst_intr_in(exch, params->cycles, params->size, &duration); 131 if (rc) { 132 printf(NAME ": Test failed with error: %s\n", str_error(rc)); 133 return 1; 134 } 135 136 puts("Test succeeded.\n"); 137 print_results(params, duration); 118 138 return 0; 119 139 } … … 122 142 { 123 143 const tmon_burst_test_params_t *params = (tmon_burst_test_params_t *) generic_params; 124 printf("Executing interrupt out test.\n" 125 " Number of cycles: %d\n" 126 " Data size: %ld B\n", params->cycles, params->size); 127 128 int rc = usbdiag_burst_intr_out(exch, params->cycles, params->size); 129 if (rc) { 130 printf(NAME ": Test failed. %s\n", str_error(rc)); 131 return 1; 132 } 133 144 puts("Writing data to interrupt endpoint.\n"); 145 print_params(params); 146 147 usbdiag_dur_t duration; 148 int rc = usbdiag_burst_intr_out(exch, params->cycles, params->size, &duration); 149 if (rc) { 150 printf(NAME ": Test failed with error: %s\n", str_error(rc)); 151 return 1; 152 } 153 154 puts("Test succeeded.\n"); 155 print_results(params, duration); 134 156 return 0; 135 157 } … … 138 160 { 139 161 const tmon_burst_test_params_t *params = (tmon_burst_test_params_t *) generic_params; 140 printf("Executing bulk in test.\n" 141 " Number of cycles: %d\n" 142 " Data size: %ld B\n", params->cycles, params->size); 143 144 int rc = usbdiag_burst_bulk_in(exch, params->cycles, params->size); 145 if (rc) { 146 printf(NAME ": Test failed. %s\n", str_error(rc)); 147 return 1; 148 } 149 162 puts("Reading data from bulk endpoint.\n"); 163 print_params(params); 164 165 usbdiag_dur_t duration; 166 int rc = usbdiag_burst_bulk_in(exch, params->cycles, params->size, &duration); 167 if (rc) { 168 printf(NAME ": Test failed with error: %s\n", str_error(rc)); 169 return 1; 170 } 171 172 puts("Test succeeded.\n"); 173 print_results(params, duration); 150 174 return 0; 151 175 } … … 154 178 { 155 179 const tmon_burst_test_params_t *params = (tmon_burst_test_params_t *) generic_params; 156 printf("Executing bulk out test.\n" 157 " Number of cycles: %d\n" 158 " Data size: %ld B\n", params->cycles, params->size); 159 160 int rc = usbdiag_burst_bulk_out(exch, params->cycles, params->size); 161 if (rc) { 162 printf(NAME ": Test failed. %s\n", str_error(rc)); 163 return 1; 164 } 165 180 puts("Writing data to bulk endpoint.\n"); 181 print_params(params); 182 183 usbdiag_dur_t duration; 184 int rc = usbdiag_burst_bulk_out(exch, params->cycles, params->size, &duration); 185 if (rc) { 186 printf(NAME ": Test failed with error: %s\n", str_error(rc)); 187 return 1; 188 } 189 190 puts("Test succeeded.\n"); 191 print_results(params, duration); 166 192 return 0; 167 193 } … … 170 196 { 171 197 const tmon_burst_test_params_t *params = (tmon_burst_test_params_t *) generic_params; 172 printf("Executing isochronous in test.\n" 173 " Number of cycles: %d\n" 174 " Data size: %ld B\n", params->cycles, params->size); 175 176 int rc = usbdiag_burst_isoch_in(exch, params->cycles, params->size); 177 if (rc) { 178 printf(NAME ": Test failed. %s\n", str_error(rc)); 179 return 1; 180 } 181 198 puts("Reading data from isochronous endpoint.\n"); 199 print_params(params); 200 201 usbdiag_dur_t duration; 202 int rc = usbdiag_burst_isoch_in(exch, params->cycles, params->size, &duration); 203 if (rc) { 204 printf(NAME ": Test failed with error: %s\n", str_error(rc)); 205 return 1; 206 } 207 208 puts("Test succeeded.\n"); 209 print_results(params, duration); 182 210 return 0; 183 211 } … … 186 214 { 187 215 const tmon_burst_test_params_t *params = (tmon_burst_test_params_t *) generic_params; 188 printf("Executing isochronous out test.\n" 189 " Number of cycles: %d\n" 190 " Data size: %ld B\n", params->cycles, params->size); 191 192 int rc = usbdiag_burst_isoch_out(exch, params->cycles, params->size); 193 if (rc) { 194 printf(NAME ": Test failed. %s\n", str_error(rc)); 195 return 1; 196 } 197 216 puts("Writing data to isochronous endpoint.\n"); 217 print_params(params); 218 219 usbdiag_dur_t duration; 220 int rc = usbdiag_burst_isoch_out(exch, params->cycles, params->size, &duration); 221 if (rc) { 222 printf(NAME ": Test failed with error: %s\n", str_error(rc)); 223 return 1; 224 } 225 226 puts("Test succeeded.\n"); 227 print_results(params, duration); 198 228 return 0; 199 229 }
Note:
See TracChangeset
for help on using the changeset viewer.