KL25 driver for Tango Control System

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

main.h File Reference

main.h File Reference

Program main features:

  • enables communication via ethernet
  • reads data from GY-80 sensor
  • reads data from built-in touch sensor
  • enables configuration of Wiz550io ethernet card via PC serial port.
More...

Go to the source code of this file.

Functions

SPI spi (PTD2, PTD3, PTD1)
 SPI communication with WIZ550io initialization.
Serial pc (USBTX, USBRX)
 spi, cs, reset
DigitalInOut P1 (PTE20)
 port P1 is connected to PTE20 pin
DigitalInOut P2 (PTE21)
 port P1 is connected to PTE21 pin
DigitalInOut P3 (PTE22)
 port P2 is connected to PTE22 pin
DigitalInOut P4 (PTE23)
 port P3 is connected to PTE23 pin
DigitalInOut P5 (PTE29)
 port P4 is connected to PTE29 pin
DigitalInOut P6 (PTE30)
 port P5 is connected to PTE30 pin
TSIAnalogSlider tsi (ELEC0, ELEC1, 100)
 current gyroscope
int init_eth ()
void eth_comm ()
void read_data ()
void comm_handler (char *command)
void SerialInterHandler ()
void menu_prop ()

Variables

WIZnetInterface eth & spi
 mosi, miso, sclk
bool USE_DHCP = true
 Defines use of DHCP protocol or Static IP Configuration.
char IP_Subnet [16] = "255.255.255.000"
 IP.
char IP_Gateway [16] = "192.168.133.001"
 Subnet Mask.
uint8_t mac [6]
 Gateway.
GY80 sensor
 GY80 IMU sensor Object.
float accel [3]
 Current magnitude.
float gyro [3]
 Current acceleration.
float TSI_pos
 TSI Slider position:
Ticker tick1
 Ticker generates time based interrups to read data from sensors in 10ms intervals.

Detailed Description

Program main features:

  • enables communication via ethernet
  • reads data from GY-80 sensor
  • reads data from built-in touch sensor
  • enables configuration of Wiz550io ethernet card via PC serial port.

Peripherals connection details:

WIZ550io pins are connected to:

  • MOSI -> PTD2
  • MISO -> PTD3
  • SCLK -> PTD1
  • CS -> PTD0
  • RST -> PTA20
  • VCC -> +3.3V
  • GND -> GND

IMU GY-80 pins:

  • VCC -> +5V
  • GND -> GND
  • SDA -> PTC9
  • SCL -> PTC8
  • Connection to other I2C port may not work!!!

Serial port communication is available via virtual OpenSDA COM port. Detailed description about configuring OpenSDA available here: https://mbed.org/handbook/Windows-serial-configuration .

Digital I/O ports pins and names:

  • PTE20 -> P1
  • PTE21 -> P2
  • PTE22 -> P3
  • PTE23 -> P4
  • PTE29 -> P5
  • PTE30 -> P6

Ethernet commands: Available commands:

  • "read_sensor" - reads all sensor data - Reply form: "Sensor data: magnX, magnY, magnZ, accelX, accelY, accelZ, gyroX, gyroY, gyroZ, TSIposition"
  • "check_ports" - reads ports P1 to P6 status - Reply form: "Port values: P1: %d, P2: %d, P3: %d, P4: %d, P5: %d, P6: %d" Single port commands:
  • "set_P$_i" - sets port as input - Reply: "P1 is now set as input"
  • "set_P$_o" - sets port as output - Reply: "P1 is now set as output"
  • "set_P$_1" - sets port as 1 (High) - Reply: "P1 value is now: %d "
  • "set_P$_0" - sets port as 0 (low) - Reply: "P1 value is now: %d "
  • "get_P$" - gets port value - Reply: "P1 value: %d"
  • $ mark is port number from 1-6
Author:
Mateusz Jaskula

Definition in file main.h.


Function Documentation

void comm_handler ( char *  command )

This function gets data buffer with command and prepares answer to be sent.

Definition at line 118 of file main.cpp.

void eth_comm (  )

Creates server and waits for client to connect. Sends reveiced buffer with commands to comm_handler. And sends reply created by comm_handler to client.

Definition at line 70 of file main.cpp.

int init_eth (  )

Initializes ethernet communication by configuring WIZ550io via SPI interface. DHCP or Static IP configuration could be used. Use of them is user configurable via serial port.

Definition at line 26 of file main.cpp.

void menu_prop (  )

Counting down time left to enter menu.

Definition at line 273 of file main.cpp.

DigitalInOut P1 ( PTE20   )

port P1 is connected to PTE20 pin

DigitalInOut P2 ( PTE21   )

port P1 is connected to PTE21 pin

DigitalInOut P3 ( PTE22   )

port P2 is connected to PTE22 pin

DigitalInOut P4 ( PTE23   )

port P3 is connected to PTE23 pin

DigitalInOut P5 ( PTE29   )

port P4 is connected to PTE29 pin

DigitalInOut P6 ( PTE30   )

port P5 is connected to PTE30 pin

Serial pc ( USBTX  ,
USBRX   
)

spi, cs, reset

Serial communication init

void read_data (  )

Reads sensor data in 10ms intervals. And saves them.

Definition at line 103 of file main.cpp.

void SerialInterHandler (  )

Enables to configure Ethernet card via serial port in first 5 seconds from KL25Z startup.

Definition at line 230 of file main.cpp.

SPI spi ( PTD2  ,
PTD3  ,
PTD1   
)

SPI communication with WIZ550io initialization.

TSIAnalogSlider tsi ( ELEC0  ,
ELEC1  ,
100   
)

current gyroscope

TSI Slider object:


Variable Documentation

float accel[3]

Current magnitude.

Definition at line 108 of file main.h.

float gyro[3]

Current acceleration.

Definition at line 109 of file main.h.

char IP_Gateway[16] = "192.168.133.001"

Subnet Mask.

Definition at line 98 of file main.h.

char IP_Subnet[16] = "255.255.255.000"

IP.

Definition at line 97 of file main.h.

uint8_t mac[6]

Gateway.

MAC Adress global variable

Definition at line 101 of file main.h.

GY80 sensor

GY80 IMU sensor Object.

Definition at line 104 of file main.h.

WIZnetInterface eth& spi

mosi, miso, sclk

Ethernet communication via WIZ550io

Definition at line 67 of file main.h.

Ticker tick1

Ticker generates time based interrups to read data from sensors in 10ms intervals.

Definition at line 118 of file main.h.

float TSI_pos

TSI Slider position:

Definition at line 115 of file main.h.

bool USE_DHCP = true

Defines use of DHCP protocol or Static IP Configuration.

Definition at line 93 of file main.h.