Ethernet test for ECE 4180 and others to find your IP address and do a simple HTTP GET request over port 80.

Dependencies:   mbed Socket lwip-eth lwip-sys lwip

Committer:
mkersh3
Date:
Thu Apr 04 05:26:09 2013 +0000
Revision:
0:e7ca326e76ee
Ethernet Test for ECE4180 and others to find their IP Address and do a simple HTTP GET request over port 80.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mkersh3 0:e7ca326e76ee 1 #include "Thread.h"
mkersh3 0:e7ca326e76ee 2
mkersh3 0:e7ca326e76ee 3 #include <stdlib.h>
mkersh3 0:e7ca326e76ee 4
mkersh3 0:e7ca326e76ee 5 #include "error.h"
mkersh3 0:e7ca326e76ee 6
mkersh3 0:e7ca326e76ee 7 namespace rtos {
mkersh3 0:e7ca326e76ee 8
mkersh3 0:e7ca326e76ee 9 Thread::Thread(void (*task)(void const *argument), void *argument,
mkersh3 0:e7ca326e76ee 10 osPriority priority, uint32_t stack_size, unsigned char *stack_pointer) {
mkersh3 0:e7ca326e76ee 11 #ifdef CMSIS_OS_RTX
mkersh3 0:e7ca326e76ee 12 _thread_def.pthread = task;
mkersh3 0:e7ca326e76ee 13 _thread_def.tpriority = priority;
mkersh3 0:e7ca326e76ee 14 _thread_def.stacksize = stack_size;
mkersh3 0:e7ca326e76ee 15 if (stack_pointer != NULL) {
mkersh3 0:e7ca326e76ee 16 _thread_def.stack_pointer = stack_pointer;
mkersh3 0:e7ca326e76ee 17 } else {
mkersh3 0:e7ca326e76ee 18 _thread_def.stack_pointer = (unsigned char*) malloc(stack_size);
mkersh3 0:e7ca326e76ee 19 if (_thread_def.stack_pointer == NULL)
mkersh3 0:e7ca326e76ee 20 error("Error allocating the stack memory");
mkersh3 0:e7ca326e76ee 21 }
mkersh3 0:e7ca326e76ee 22 #endif
mkersh3 0:e7ca326e76ee 23 _tid = osThreadCreate(&_thread_def, argument);
mkersh3 0:e7ca326e76ee 24 }
mkersh3 0:e7ca326e76ee 25
mkersh3 0:e7ca326e76ee 26 osStatus Thread::terminate() {
mkersh3 0:e7ca326e76ee 27 return osThreadTerminate(_tid);
mkersh3 0:e7ca326e76ee 28 }
mkersh3 0:e7ca326e76ee 29
mkersh3 0:e7ca326e76ee 30 osStatus Thread::set_priority(osPriority priority) {
mkersh3 0:e7ca326e76ee 31 return osThreadSetPriority(_tid, priority);
mkersh3 0:e7ca326e76ee 32 }
mkersh3 0:e7ca326e76ee 33
mkersh3 0:e7ca326e76ee 34 osPriority Thread::get_priority() {
mkersh3 0:e7ca326e76ee 35 return osThreadGetPriority(_tid);
mkersh3 0:e7ca326e76ee 36 }
mkersh3 0:e7ca326e76ee 37
mkersh3 0:e7ca326e76ee 38 int32_t Thread::signal_set(int32_t signals) {
mkersh3 0:e7ca326e76ee 39 return osSignalSet(_tid, signals);
mkersh3 0:e7ca326e76ee 40 }
mkersh3 0:e7ca326e76ee 41
mkersh3 0:e7ca326e76ee 42 osEvent Thread::signal_wait(int32_t signals, uint32_t millisec) {
mkersh3 0:e7ca326e76ee 43 return osSignalWait(signals, millisec);
mkersh3 0:e7ca326e76ee 44 }
mkersh3 0:e7ca326e76ee 45
mkersh3 0:e7ca326e76ee 46 osStatus Thread::wait(uint32_t millisec) {
mkersh3 0:e7ca326e76ee 47 return osDelay(millisec);
mkersh3 0:e7ca326e76ee 48 }
mkersh3 0:e7ca326e76ee 49
mkersh3 0:e7ca326e76ee 50 osStatus Thread::yield() {
mkersh3 0:e7ca326e76ee 51 return osThreadYield();
mkersh3 0:e7ca326e76ee 52 }
mkersh3 0:e7ca326e76ee 53
mkersh3 0:e7ca326e76ee 54 osThreadId Thread::gettid() {
mkersh3 0:e7ca326e76ee 55 return osThreadGetId();
mkersh3 0:e7ca326e76ee 56 }
mkersh3 0:e7ca326e76ee 57
mkersh3 0:e7ca326e76ee 58 }