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.
Diff: drv/zg2100/zg_drv.h
- Revision:
- 1:3a7c15057192
- Parent:
- 0:b802fc31f1db
- Child:
- 2:ac860ad9e490
diff -r b802fc31f1db -r 3a7c15057192 drv/zg2100/zg_drv.h --- a/drv/zg2100/zg_drv.h Fri Jul 09 15:37:23 2010 +0000 +++ b/drv/zg2100/zg_drv.h Fri Aug 06 10:23:41 2010 +0000 @@ -21,21 +21,24 @@ THE SOFTWARE. */ -//ZG2100 Low-level driver +// \file ZG2100 Low-level driver //Donatien Garnier 2010 #ifndef ZG_DRV_H #define ZG_DRV_H #include "zg_defs.h" +#include "zg_err.h" +//Stores relevant data typedef struct _ZG_DATA { byte mac_addr[6]; ZG_SYSV sys_version; - + } ZG_DATA; +//Stores which data is actually available typedef struct _ZG_DATA_MASK { bool mac_addr; @@ -49,34 +52,53 @@ extern ZG_DATA_MASK zg_data_mask; //Flags valid data //Spi intf, Chip Select pin, Interrupt pin +///Initializes driver (zg_com_init must be called before). zg_err zg_drv_init(); +//FIXME: Not implemented, not used (to be deleted?) void zg_on_data_attach( void (*on_data)() ); +///Must be called regularly to process interrupts. void zg_process(); //Must be called regularly by user +///Processes interrupt. (Called by zg_process if needed) void zg_int_process(); //Process interrupt +///Can a management request be sent? bool zg_mgmt_is_busy(); +///Sends management request void zg_mgmt_req(byte subtype, byte* buf, int len, bool close = true); + +///Writes additional management data void zg_mgmt_data(byte* buf, int len, bool close = true); +///Gets parameter void zg_mgmt_get_param(byte param); + +///Sets parameter void zg_mgmt_set_param(byte param, byte* buf, int len); +///Called on management request result void zg_on_mgmt_avl(byte subtype, byte* buf, int len); //Data is available + +///Called on management event void zg_on_mgmt_evt(byte subtype, byte* buf, int len); //Management event +///Called when get parameter request completes void zg_on_mgmt_get_param(byte* buf, int len); //Get param completed //uint32_t zg_fifo_room(); //Useful to be split in several function because Lwip stores buffers in chunks +///Sends Data (start) void zg_send_start(); +///Sends Data (main) void zg_send(byte* buf, int len); +///Sends Data (end) void zg_send_end(); +///Can more data be sent? bool zg_send_is_busy(); //Callbacks implemented in zg_if @@ -85,6 +107,7 @@ void zg_on_connect(zg_err result); //Handled by zg_net +///Data received void zg_on_input(byte* buf, int len); //Callbacks from zg_com