From 61e4deff3867b515d7ce96278410ea376b55c86e Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周二, 04 12月 2012 18:09:37 +0800
Subject: [PATCH] Update README - new way of initialization

---
 README.md |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/README.md b/README.md
index 7565661..2a495c5 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
 	scpi_command_t scpi_commands[] = {
 		{ .pattern = "*IDN?", .callback = SCPI_CoreIdnQ,},
 		{ .pattern = "*RST", .callback = SCPI_CoreRst,},
+		{ .pattern = "MEASure:VOLTage:DC?", .callback = DMM_MeasureVoltageDcQ,},
 		SCPI_CMD_LIST_END
 	};
 
@@ -68,28 +69,33 @@
 		.error = NULL,
 		.reset = NULL,
 		.test = NULL,
+		.srq = NULL,
 	};
 
 Important thing is command buffer. Maximum size is up to you and it should be larger than any possible largest command. 
 
-	#define SCPI_BUFFER_LENGTH 256
-	char myBuffer[SCPI_BUFFER_LENGTH];
+	#define SCPI_INPUT_BUFFER_LENGTH 256
+	static char scpi_input_buffer[SCPI_INPUT_BUFFER_LENGTH];
 
-	scpi_buffer_t scpi_buffer = {
-		.length = SCPI_BUFFER_LENGTH,
-		.data = myBuffer,
-	};
 
 The last structure is scpi context used in parser library.
 
-	scpi_t scpi_context;
+	scpi_t scpi_context = {
+		.cmdlist = scpi_commands,
+		.buffer = {
+			.length = SCPI_INPUT_BUFFER_LENGTH,
+			.data = scpi_input_buffer,
+		},
+		.interface = &scpi_interface,
+		.registers = scpi_regs,
+	};
 
 All these structures should be global variables of the c file or allocated by function like malloc. It is common mistake to create these structures inside a function as local variables of this function. This will not work. If you don't know why, you should read something about [function stack.](http://stackoverflow.com/questions/4824342/returning-a-local-variable-from-function-in-c).
 
 
-Now we are ready to connect everything together
+Now we are ready to initialize SCPI context. It is possible to use more SCPI contexts and share some configurations (command list, registers, units list, error callback...)
 
-	SCPI_Init(&scpi_context, scpi_commands, &scpi_buffer, &scpi_interface);
+	SCPI_Init(&scpi_context);
 
 Test implementation of function myWrite, which outputs everything to stdout, can be
 	

--
Gitblit v1.9.1