00001
00002 #include <stdio.h>
00003
00004 static char messages[48][80] =
00005 {"motor activated",
00006 "negative end limit set",
00007 "positive end limit set",
00008 "handwheel enabled",
00009 "phased motor",
00010 "open-loop mode",
00011 "running definite-time move",
00012 "integration mode",
00013 "dwell in progress",
00014 "data block error",
00015 "desired velocity zero",
00016 "abort deceleration",
00017 "block request",
00018 "home search in progress",
00019 "(reserved)",
00020 "(reserved)",
00021 "(reserved)",
00022 "(reserved)",
00023 "(reserved)",
00024 "(reserved)",
00025 "(reserved)",
00026 "(reserved)",
00027 "(reserved)",
00028 "(reserved)",
00029 "assigned to CS",
00030 "CS bit 2",
00031 "CS bit 1",
00032 "CS bit 0",
00033 "(reserved)",
00034 "(reserved)",
00035 "(reserved)",
00036 "(reserved)",
00037 "(reserved)",
00038 "amplifier enabled",
00039 "(reserved)",
00040 "(reserved)",
00041 "stopped on position limit",
00042 "home complete",
00043 "(reserved)",
00044 "(reserved)",
00045 "(reserved)",
00046 "(reserved)",
00047 "(reserved)",
00048 "(reserved)",
00049 "amplifier fault error",
00050 "fatal following error",
00051 "warning following error",
00052 "in position"};
00053
00054
00055 int main()
00056 {
00057 char buffer[80];
00058 int t;
00059
00060
00061 fgets(buffer, 80, stdin);
00062
00063
00064
00065 for (t = 0; t < 12; t++)
00066 {
00067
00068 if (buffer[t] & 8)
00069 {
00070 printf("%s\n", messages[4*t]);
00071 }
00072 if (buffer[t] & 4)
00073 {
00074 printf("%s\n", messages[4*t+1]);
00075 }
00076 if (buffer[t] & 2)
00077 {
00078 printf("%s\n", messages[4*t+2]);
00079 }
00080 if (buffer[t] & 1)
00081 {
00082 printf("%s\n", messages[4*t+3]);
00083 }
00084 }
00085 }