Web server based weather station using Sparkfun Weather Meters.

Dependencies:   FatFileSystem mbed WeatherMeters SDFileSystem

Committer:
AdamGreen
Date:
Thu Feb 23 21:38:39 2012 +0000
Revision:
0:616601bde9fb

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AdamGreen 0:616601bde9fb 1 /* Copyright 2011 Adam Green (http://mbed.org/users/AdamGreen/)
AdamGreen 0:616601bde9fb 2
AdamGreen 0:616601bde9fb 3 Licensed under the Apache License, Version 2.0 (the "License");
AdamGreen 0:616601bde9fb 4 you may not use this file except in compliance with the License.
AdamGreen 0:616601bde9fb 5 You may obtain a copy of the License at
AdamGreen 0:616601bde9fb 6
AdamGreen 0:616601bde9fb 7 http://www.apache.org/licenses/LICENSE-2.0
AdamGreen 0:616601bde9fb 8
AdamGreen 0:616601bde9fb 9 Unless required by applicable law or agreed to in writing, software
AdamGreen 0:616601bde9fb 10 distributed under the License is distributed on an "AS IS" BASIS,
AdamGreen 0:616601bde9fb 11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AdamGreen 0:616601bde9fb 12 See the License for the specific language governing permissions and
AdamGreen 0:616601bde9fb 13 limitations under the License.
AdamGreen 0:616601bde9fb 14 */
AdamGreen 0:616601bde9fb 15 /* Header file for debug related functionality. */
AdamGreen 0:616601bde9fb 16 #ifndef DEBUG_H_
AdamGreen 0:616601bde9fb 17 #define DEBUG_H_
AdamGreen 0:616601bde9fb 18
AdamGreen 0:616601bde9fb 19
AdamGreen 0:616601bde9fb 20 #include <mbed.h>
AdamGreen 0:616601bde9fb 21
AdamGreen 0:616601bde9fb 22
AdamGreen 0:616601bde9fb 23 // Assert related macroes and functions.
AdamGreen 0:616601bde9fb 24 #ifndef NDEBUG
AdamGreen 0:616601bde9fb 25 static __inline int __AssertLog(const char* pAssert, const char* pFilename, unsigned int LineNumber)
AdamGreen 0:616601bde9fb 26 {
AdamGreen 0:616601bde9fb 27 static const char UsersDir[] = "/users/";
AdamGreen 0:616601bde9fb 28 const char* pUsers;
AdamGreen 0:616601bde9fb 29
AdamGreen 0:616601bde9fb 30 // Skip long workspace source filename prefix.
AdamGreen 0:616601bde9fb 31 pUsers = strstr(pFilename, UsersDir);
AdamGreen 0:616601bde9fb 32 if (pUsers)
AdamGreen 0:616601bde9fb 33 {
AdamGreen 0:616601bde9fb 34 pUsers = strchr(pUsers + sizeof(UsersDir) - 1, '/');
AdamGreen 0:616601bde9fb 35 if (pUsers)
AdamGreen 0:616601bde9fb 36 {
AdamGreen 0:616601bde9fb 37 pFilename = pUsers + 1;
AdamGreen 0:616601bde9fb 38 }
AdamGreen 0:616601bde9fb 39 }
AdamGreen 0:616601bde9fb 40
AdamGreen 0:616601bde9fb 41 error("%s:%u Assertion failure: %s\r\n", pFilename, LineNumber, pAssert);
AdamGreen 0:616601bde9fb 42 return 0;
AdamGreen 0:616601bde9fb 43 }
AdamGreen 0:616601bde9fb 44 #define assert(X) ((X) || __AssertLog(#X, __FILE__, __LINE__))
AdamGreen 0:616601bde9fb 45 #else
AdamGreen 0:616601bde9fb 46 static __inline void __AssertLog()
AdamGreen 0:616601bde9fb 47 {
AdamGreen 0:616601bde9fb 48 }
AdamGreen 0:616601bde9fb 49 #define assert(X) __AssertLog()
AdamGreen 0:616601bde9fb 50 #endif // NDEBUG
AdamGreen 0:616601bde9fb 51
AdamGreen 0:616601bde9fb 52
AdamGreen 0:616601bde9fb 53
AdamGreen 0:616601bde9fb 54 #endif /* DEBUG_H_ */