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.
Dependencies: mbed
Fork of BeaconDemo_RobotCode by
PsiSwarm/psiswarm.h
- Committer:
- jah128
- Date:
- 2015-10-12
- Revision:
- 4:25039ea5eb09
- Parent:
- 3:cd048f6e544e
- Child:
- 5:598298aa4900
File content as of revision 4:25039ea5eb09:
/* University of York Robotics Laboratory PsiSwarm Library: PsiSwarm Core Header File
*
* File: psiswarm.h
*
* (C) Dr James Hilder, Dept. Electronics & Computer Science, University of York
*
* PsiSwarm Library Version: 0.2
*
* September 2015
*
*/
#ifndef PSISWARM_H
#define PSISWARM_H
#define SOFTWARE_VERSION_CODE 0.20
#define PIC_ADDRESS 0x30
#define LCD_ADDRESS 0x7C
#define LED_IC_ADDRESS 0x42
#define GPIO_IC_ADDRESS 0x40
#define AUX_IC_ADDRESS 0x4E
#define ADC1_ADDRESS 0x46
#define ADC2_ADDRESS 0x48
#define EEPROM_ADDRESS 0XA0
#define TEMPERATURE_ADDRESS 0X30
#define BASE_COLOUR_ADDRESS 0X52
#define TOP_COLOUR_ADDRESS 0X72
#define ULTRASONIC_ADDRESS 0XE0
#define COMMAND_MESSAGE_BYTE 0X1D
#define ACKNOWLEDGE_MESSAGE_BYTE 0X1E
#define RESPONSE_MESSAGE_BYTE 0X1F
#define PSI_BYTE 0X1D
//Set temperature sensor warnings: 60C critical, 50C high, 0C low
#define TEMPERATURE_CRITICAL_HI 0X03
#define TEMPEARTURE_CRITICAL_LO 0XC0
#define TEMPERATURE_HIGH_HI 0X03
#define TEMPEARTURE_HIGH_LO 0X20
#define TEMPERATURE_LOW_HI 0X00
#define TEMPEARTURE_LOW_LO 0X00
#define DEFAULT_IR_PULSE_DELAY 400
#define DEFAULT_BASE_IR_PULSE_DELAY 50
#include <stdio.h>
#include <stdarg.h>
#include "settings.h"
#include "serial.h"
#include "mbed.h"
#include "display.h"
#include "led.h"
#include "i2c.h"
#include "motors.h"
#include "sensors.h"
#include "eprom.h"
#include "colour.h"
#include "pic.h"
#include "demo.h"
//NB The user needs to have a main.cpp with a main() function and a handle_switch_event(char) function
#include "main.h"
void init(void);
float get_uptime(void);
void pause_user_code(float period);
void reset_encoders(void);
void debug(const char* format, ...) ;
void IF_end_pause_user_code(void);
void IF_handle_events(void);
void IF_update_encoders(void);
void IF_update_user_id(void);
void IF_update_switch(void);
void IF_update_minutes(void);
extern char * program_name;
extern char * author_name;
extern char * version_name;
extern Serial pc;
extern Serial bt;
extern Display display;
extern I2C primary_i2c;
extern InterruptIn gpio_interrupt;
extern AnalogIn vin_current;
extern AnalogIn vin_battery;
extern AnalogIn vin_dc;
extern DigitalOut mbed_led1;
extern DigitalOut mbed_led2;
extern DigitalOut mbed_led3;
extern DigitalOut mbed_led4;
extern PwmOut center_led_red;
extern PwmOut center_led_green;
extern PwmOut motor_left_f;
extern PwmOut motor_left_r;
extern PwmOut motor_right_f;
extern PwmOut motor_right_r;
extern int base_colour_sensor_raw_values [];
extern int top_colour_sensor_raw_values [];
extern char waiting_for_ultrasonic;
extern int ultrasonic_distance;
extern char ultrasonic_distance_updated;
extern Timeout ultrasonic_timeout;
extern Ticker ultrasonic_ticker;
extern unsigned short background_ir_values [];
extern unsigned short illuminated_ir_values [];
extern float reflected_ir_distances [];
extern char ir_values_stored;
extern char firmware_bytes[];
extern unsigned short background_base_ir_values [];
extern unsigned short illuminated_base_ir_values [];
extern char base_ir_values_stored;
extern float line_position;
extern char line_found;
extern float motor_left_speed;
extern float motor_right_speed;
extern char motor_left_brake;
extern char motor_right_brake;
extern float center_led_brightness;
extern float backlight_brightness;
extern float firmware_version;
extern int ir_pulse_delay;
extern int base_ir_pulse_delay;
extern char robot_id;
extern char previous_robot_id;
extern char wheel_encoder_byte;
extern char previous_wheel_encoder_byte;
extern signed int left_encoder;
extern signed int right_encoder;
extern char switch_byte;
extern char previous_switch_byte;
extern char user_code_running;
extern char user_code_restore_mode;
extern char demo_on;
extern char event;
extern char change_id_event;
extern char encoder_event;
extern char switch_event;
extern char system_warnings;
extern char debug_mode;
extern char debug_output;
#endif
