Warning
This page is located in archive. Go to the latest version of this course pages.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

courses:be5b99cpl:labs:lab10 [2018/10/04 15:47]
courses:be5b99cpl:labs:lab10 [2018/10/04 15:47] (current)
Line 1: Line 1:
 +====== Lab10 - The command interface ======
 +
 +This exercise is aimed on the interface command protocol implementation. The final data set is described here.
 +
 +The communication protocol will be based on text commands/​strings which are ended by '​\r'​ and '​\n'​ sequence. There are two types of commands: with and withnout question mark '?'​. The commnands with question mark requires reply. When reply is not provided a timeout of 5 sec. shall be detected. ​
 +
 +An unimplemented command is indicated is the response as UNKNOWN "and the unresolved command"​.
 +An error, e.g. parameter, is indicated as ERROR "and the unresolved command"​.
 +
 +The communication schema is Master/​Slave. The PC resembles master and Nucleo is slave. As a response to some evens the Slave can send assynchronous packet with information about the event, e.g. joystick movements.
 +
 +===== *IDN? =====
 +The *IDN? is a request for identification. ​
 +
 +**Response:​** Text string with device name and author identification.
 +
 +===== LED =====
 +The LED is a request for Nucleo User LED control. The command has two variants:
 +
 +  * LED ON - the LED will be switched on
 +  * LED OFF - the LED will be switched off
 +
 +**Response:​** No response is requested.
 +
 +===== BUTTON? =====
 +The BUTTON? is a request to return the state of the User Button.
 +
 +**Response:​** The response has two variants:
 +  * BUTTON 1 - the button is pressed
 +  * BUTTON 0 - the button is released
 +
 +===== DRAW =====
 +DRAW is the set of commands to control the LCD display.
 +
 +==== DRAW:​SETTEXTCOLOR ====
 +The SETTEXTCOLOR has one parameter - the number of color. The color coding is as follows:
 +  - Black
 +  - Grey
 +  - Blue
 +  - Red
 +  - Green
 +  - Cyan
 +  - Magenta
 +  - Yellow
 +  - White
 +
 +Example (BSP_LCD_SetTextColor):​
 +  * DRAW:​SETTEXTCOLOR 1 
 +
 +**Response:​** No response is requested.
 +
 +==== DRAW:CLEAR ====
 +The CLEAR redraws the whole display in one collor (color coding is above).
 +
 +Example (BSP_LCD_Clear):​
 +  * DRAW:CLEAR 9 
 +
 +**Response:​** No response is requested.
 +
 +==== DRAW:PIXEL ====
 +The PIXEL controls one image element at [iX, iY] on the display (color coding is above).
 +
 +Example (BSP_LCD_DrawPixel):​
 +  * DRAW:PIXEL 30,40,4
 +
 +**Response:​** No response is requested.
 +
 +==== DRAW:LINE ====
 +The LINE draws a line in between of a start point [iXs, iYs] and end point [iXe, iYe].
 +
 +Example (BSP_LCD_DrawLine):​
 +  * DRAW:LINE 10,​10,​30,​30 ​
 +
 +**Response:​** No response is requested.
 +
 +==== DRAW:CIRCLE ====
 +The CIRCLE draws a circle with center at [iXs, iYs] and with radius iR.
 +
 +Example (BSP_LCD_DrawCircle):​
 +  * DRAW:CIRCLE 64,​80,​30 ​
 +
 +**Response:​** No response is requested.
 +
 +==== DRAW:​SETFONT ====
 +The SETFONT selects from available fonts. The available fonts are:
 +  * 24 poits
 +  * 20 points
 +  * 16 points
 +  * 12 points
 +  * 8 points
 +
 +Example (BSP_LCD_SetFont):​
 +  * DRAW:​SETFONT 20 
 +
 +**Response:​** No response is requested.
 +
 +==== DRAW:TEXT ====
 +The TEXT prints the string at selected location [iX, iY] with specific alignment. The alignment is following:
 +  - Center
 +  - Right
 +  - Left
 +
 +Example (BSP_LCD_DisplayStringAt):​
 +  * DRAW:TEXT 64,​80,​Nucleo RULEZ!,​1 ​
 +
 +**Response:​** No response is requested.
 +
 +
  
courses/be5b99cpl/labs/lab10.txt · Last modified: 2018/10/04 15:47 (external edit)