Merge pull request #89 from kanoi/master Return an error if using ADL API commands when it's not available
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
diff --git a/README b/README
index 88f9fb7..5709c2f 100644
--- a/README
+++ b/README
@@ -543,6 +543,10 @@ The JSON request format required is '{"command":"CMD","parameter":"PARAM"}'
where "CMD" is from the "Request" column below and "PARAM" would be e.g.
the CPU/GPU number if required.
+An example request in both formats:
+ gpufan|0,80
+ {"command":"gpufan","parameter":"0,80"}
+
The format of each reply (unless stated otherwise) is a STATUS section
followed by an optional detail section
@@ -635,7 +639,8 @@ The list of requests and replies are:
stating the results of setting GPU N vddc to V
save|filename none There is no reply section just the STATUS section
- stating success or failure
+ stating success or failure saving the cgminer config
+ to filename
quit none There is no status section but just a single "BYE|"
reply before cgminer quits
diff --git a/api.c b/api.c
index ab1d217..2b7dde0 100644
--- a/api.c
+++ b/api.c
@@ -1014,6 +1014,7 @@ static void gpuintensity(SOCKETTYPE c, char *param, bool isjson)
static void gpumem(SOCKETTYPE c, char *param, bool isjson)
{
+#ifdef HAVE_ADL
int id;
char *value;
int clock;
@@ -1027,10 +1028,14 @@ static void gpumem(SOCKETTYPE c, char *param, bool isjson)
strcpy(io_buffer, message(MSG_GPUMERR, id, value, isjson));
else
strcpy(io_buffer, message(MSG_GPUMEM, id, value, isjson));
+#else
+ strcpy(io_buffer, message(MSG_NOADL, 0, NULL, isjson));
+#endif
}
static void gpuengine(SOCKETTYPE c, char *param, bool isjson)
{
+#ifdef HAVE_ADL
int id;
char *value;
int clock;
@@ -1044,10 +1049,14 @@ static void gpuengine(SOCKETTYPE c, char *param, bool isjson)
strcpy(io_buffer, message(MSG_GPUEERR, id, value, isjson));
else
strcpy(io_buffer, message(MSG_GPUENG, id, value, isjson));
+#else
+ strcpy(io_buffer, message(MSG_NOADL, 0, NULL, isjson));
+#endif
}
static void gpufan(SOCKETTYPE c, char *param, bool isjson)
{
+#ifdef HAVE_ADL
int id;
char *value;
int fan;
@@ -1061,10 +1070,14 @@ static void gpufan(SOCKETTYPE c, char *param, bool isjson)
strcpy(io_buffer, message(MSG_GPUFERR, id, value, isjson));
else
strcpy(io_buffer, message(MSG_GPUFAN, id, value, isjson));
+#else
+ strcpy(io_buffer, message(MSG_NOADL, 0, NULL, isjson));
+#endif
}
static void gpuvddc(SOCKETTYPE c, char *param, bool isjson)
{
+#ifdef HAVE_ADL
int id;
char *value;
float vddc;
@@ -1078,6 +1091,9 @@ static void gpuvddc(SOCKETTYPE c, char *param, bool isjson)
strcpy(io_buffer, message(MSG_GPUVERR, id, value, isjson));
else
strcpy(io_buffer, message(MSG_GPUVDDC, id, value, isjson));
+#else
+ strcpy(io_buffer, message(MSG_NOADL, 0, NULL, isjson));
+#endif
}
static void send_result(SOCKETTYPE c, bool isjson);