Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
uart_mbed.cpp@0:be95bfb06686, 2022-01-17 (annotated)
- Committer:
- wuliqunyy
- Date:
- Mon Jan 17 13:20:09 2022 +0000
- Revision:
- 0:be95bfb06686
a working non_flat + adc_didt for ehp regulation version
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| wuliqunyy | 0:be95bfb06686 | 1 | #include "uart_mbed.h" |
| wuliqunyy | 0:be95bfb06686 | 2 | #include "mbed.h" |
| wuliqunyy | 0:be95bfb06686 | 3 | #include "scpi/scpi.h" |
| wuliqunyy | 0:be95bfb06686 | 4 | |
| wuliqunyy | 0:be95bfb06686 | 5 | |
| wuliqunyy | 0:be95bfb06686 | 6 | // Serial pc(USBTX, USBRX); // tx, rx |
| wuliqunyy | 0:be95bfb06686 | 7 | |
| wuliqunyy | 0:be95bfb06686 | 8 | void uart_print(char *buffer){ |
| wuliqunyy | 0:be95bfb06686 | 9 | printf("RAM_ADDR:%02X MByte:%02X LByte:%02X'\n", *buffer, *(buffer+1),*(buffer+2)); |
| wuliqunyy | 0:be95bfb06686 | 10 | } |
| wuliqunyy | 0:be95bfb06686 | 11 | |
| wuliqunyy | 0:be95bfb06686 | 12 | void uart_read(char *buffer){ |
| wuliqunyy | 0:be95bfb06686 | 13 | gets(buffer); |
| wuliqunyy | 0:be95bfb06686 | 14 | } |
| wuliqunyy | 0:be95bfb06686 | 15 | |
| wuliqunyy | 0:be95bfb06686 | 16 | void uart_write(char *buffer){ |
| wuliqunyy | 0:be95bfb06686 | 17 | printf(buffer); |
| wuliqunyy | 0:be95bfb06686 | 18 | } |
| wuliqunyy | 0:be95bfb06686 | 19 | |
| wuliqunyy | 0:be95bfb06686 | 20 | void uart_start(){ |
| wuliqunyy | 0:be95bfb06686 | 21 | printf("data_start\n"); |
| wuliqunyy | 0:be95bfb06686 | 22 | } |
| wuliqunyy | 0:be95bfb06686 | 23 | |
| wuliqunyy | 0:be95bfb06686 | 24 | void uart_I2C_test_pass(){ |
| wuliqunyy | 0:be95bfb06686 | 25 | printf("i2c_test_pass, ready!\n"); |
| wuliqunyy | 0:be95bfb06686 | 26 | } |
| wuliqunyy | 0:be95bfb06686 | 27 | |
| wuliqunyy | 0:be95bfb06686 | 28 | void uart_I2C_test_fail(){ |
| wuliqunyy | 0:be95bfb06686 | 29 | printf("i2c_test_fail\n"); |
| wuliqunyy | 0:be95bfb06686 | 30 | } |
| wuliqunyy | 0:be95bfb06686 | 31 | |
| wuliqunyy | 0:be95bfb06686 | 32 | void uart_ram_dump_finish(){ |
| wuliqunyy | 0:be95bfb06686 | 33 | printf("dump_finish\n"); |
| wuliqunyy | 0:be95bfb06686 | 34 | } |
| wuliqunyy | 0:be95bfb06686 | 35 | |
| wuliqunyy | 0:be95bfb06686 | 36 | int SCPI_Error(scpi_t * context, int_fast16_t err) { |
| wuliqunyy | 0:be95bfb06686 | 37 | (void) context; |
| wuliqunyy | 0:be95bfb06686 | 38 | |
| wuliqunyy | 0:be95bfb06686 | 39 | printf("**ERROR: %d, \"%s\"\r\n", (int32_t) err, SCPI_ErrorTranslate(err)); |
| wuliqunyy | 0:be95bfb06686 | 40 | return 0; |
| wuliqunyy | 0:be95bfb06686 | 41 | } |
| wuliqunyy | 0:be95bfb06686 | 42 | |
| wuliqunyy | 0:be95bfb06686 | 43 | size_t SCPI_Write(scpi_t * context, const char * data, size_t len) { |
| wuliqunyy | 0:be95bfb06686 | 44 | (void) context; |
| wuliqunyy | 0:be95bfb06686 | 45 | return fwrite(data, 1, len, stdout); |
| wuliqunyy | 0:be95bfb06686 | 46 | } |
| wuliqunyy | 0:be95bfb06686 | 47 | |
| wuliqunyy | 0:be95bfb06686 | 48 | scpi_result_t SCPI_Flush(scpi_t * context) { |
| wuliqunyy | 0:be95bfb06686 | 49 | fflush(stdout); |
| wuliqunyy | 0:be95bfb06686 | 50 | return SCPI_RES_OK; |
| wuliqunyy | 0:be95bfb06686 | 51 | } |
| wuliqunyy | 0:be95bfb06686 | 52 | |
| wuliqunyy | 0:be95bfb06686 | 53 | /** |
| wuliqunyy | 0:be95bfb06686 | 54 | * Return 0 as OK and other number as error |
| wuliqunyy | 0:be95bfb06686 | 55 | */ |
| wuliqunyy | 0:be95bfb06686 | 56 | scpi_result_t SCPI_Test(scpi_t * context) { |
| wuliqunyy | 0:be95bfb06686 | 57 | printf("**Test\r\n"); |
| wuliqunyy | 0:be95bfb06686 | 58 | return (scpi_result_t)0; |
| wuliqunyy | 0:be95bfb06686 | 59 | } |
| wuliqunyy | 0:be95bfb06686 | 60 | |
| wuliqunyy | 0:be95bfb06686 | 61 | extern "C" void mbed_reset(); |
| wuliqunyy | 0:be95bfb06686 | 62 | |
| wuliqunyy | 0:be95bfb06686 | 63 | scpi_result_t SCPI_Reset(scpi_t * context) |
| wuliqunyy | 0:be95bfb06686 | 64 | { |
| wuliqunyy | 0:be95bfb06686 | 65 | mbed_reset(); |
| wuliqunyy | 0:be95bfb06686 | 66 | printf("**Reset\r\n"); |
| wuliqunyy | 0:be95bfb06686 | 67 | return SCPI_RES_OK; |
| wuliqunyy | 0:be95bfb06686 | 68 | } |
| wuliqunyy | 0:be95bfb06686 | 69 | |
| wuliqunyy | 0:be95bfb06686 | 70 | scpi_result_t SCPI_Control(scpi_t * context, scpi_ctrl_name_t ctrl, scpi_reg_val_t val) { |
| wuliqunyy | 0:be95bfb06686 | 71 | if (SCPI_CTRL_SRQ == ctrl) { |
| wuliqunyy | 0:be95bfb06686 | 72 | printf("**SRQ: 0x%X (%d)\r\n", val, val); |
| wuliqunyy | 0:be95bfb06686 | 73 | } else { |
| wuliqunyy | 0:be95bfb06686 | 74 | printf("**CTRL %02x: 0x%X (%d)\r\n", ctrl, val, val); |
| wuliqunyy | 0:be95bfb06686 | 75 | } |
| wuliqunyy | 0:be95bfb06686 | 76 | return SCPI_RES_OK; |
| wuliqunyy | 0:be95bfb06686 | 77 | } |
| wuliqunyy | 0:be95bfb06686 | 78 | |
| wuliqunyy | 0:be95bfb06686 | 79 |
