| 138 | } |
| 139 | |
| 140 | void Logging::printFormat(Print * logOutput, const char format, va_list * args) |
| 141 | { |
| 142 | #ifndef DISABLE_LOGGING |
| 143 | if(format == '%') { |
| 144 | logOutput->print(format); |
| 145 | } else if(format == 's') { |
| 146 | register char * s = (char *)va_arg(*args, int); |
| 147 | logOutput->print(s); |
| 148 | } else if(format == 'S') { |
| 149 | register __FlashStringHelper * s = (__FlashStringHelper *)va_arg(*args, int); |
| 150 | logOutput->print(s); |
| 151 | } else if(format == 'd' || format == 'i') { |
| 152 | logOutput->print(va_arg(*args, int), DEC); |
| 153 | } else if(format == 'u') { |
| 154 | logOutput->print(va_arg(*args, unsigned int), DEC); |
| 155 | } else if(format == 'D' || format == 'F') { |
| 156 | logOutput->print(va_arg(*args, double)); |
| 157 | } else if(format == 'x') { |
| 158 | logOutput->print(va_arg(*args, int), HEX); |
| 159 | } else if(format == 'X') { |
| 160 | logOutput->print("0x"); |
| 161 | logOutput->print(va_arg(*args, int), HEX); |
| 162 | } else if(format == 'b') { |
| 163 | logOutput->print(va_arg(*args, int), BIN); |
| 164 | } else if(format == 'B') { |
| 165 | logOutput->print("0b"); |
| 166 | logOutput->print(va_arg(*args, int), BIN); |
| 167 | } else if(format == 'l') { |
| 168 | logOutput->print(va_arg(*args, long), DEC); |
| 169 | } else if(format == 'c') { |
| 170 | logOutput->print((char)va_arg(*args, int)); |
| 171 | } else if(format == 't') { |
| 172 | if(va_arg(*args, int) == 1) { |
| 173 | logOutput->print("T"); |
| 174 | } else { |
| 175 | logOutput->print("F"); |
| 176 | } |
| 177 | } else if(format == 'T') { |
| 178 | if(va_arg(*args, int) == 1) { |
| 179 | logOutput->print(F("true")); |
| 180 | } else { |
| 181 | logOutput->print(F("false")); |
| 182 | } |
| 183 | } |
| 184 | #endif |
| 185 | } |
| 186 | |
| 187 | Logging Log = Logging(); |
| 188 | |