summaryrefslogtreecommitdiff
path: root/software
diff options
context:
space:
mode:
authorChristian Pointner <equinox@mur.at>2013-08-21 23:49:35 +0000
committerChristian Pointner <equinox@mur.at>2013-08-21 23:49:35 +0000
commit2d9d64bcf7f4f2533dea68edd9f67781ad968dba (patch)
tree7de995df3c9a933e5afeb9780d1854e8db263d7e /software
parentsome test for mpu (diff)
moved heartbeat thread to seperate file
git-svn-id: https://svn.spreadspace.org/mur.sat@834 7de4ea59-55d0-425e-a1af-a3118ea81d4c
Diffstat (limited to 'software')
-rw-r--r--software/mpu/Makefile1
-rw-r--r--software/mpu/board/board.h10
-rw-r--r--software/mpu/heartbeat.c58
-rw-r--r--software/mpu/heartbeat.h38
-rw-r--r--software/mpu/main.c70
5 files changed, 135 insertions, 42 deletions
diff --git a/software/mpu/Makefile b/software/mpu/Makefile
index 57a89b9..8dcb9ed 100644
--- a/software/mpu/Makefile
+++ b/software/mpu/Makefile
@@ -79,6 +79,7 @@ CSRC = $(PORTSRC) \
$(BOARDSRC) \
$(CHIBIOS)/os/various/evtimer.c \
$(CHIBIOS)/os/various/syscalls.c \
+ heartbeat.c \
main.c
# C++ sources that can be compiled in ARM or THUMB mode depending on the global
diff --git a/software/mpu/board/board.h b/software/mpu/board/board.h
index 19b4fa7..018a45e 100644
--- a/software/mpu/board/board.h
+++ b/software/mpu/board/board.h
@@ -41,8 +41,10 @@
/*
* IO pins assignments.
*/
-#define GPIOA_LED 8
-#define GPIOA_USB_DISC 13
+#define LED__PIN 8
+#define LED__PORT GPIOA
+#define USB_DISC__PIN 13
+#define USB_DISC__PORT GPIOA
/*
* I/O ports initial setup, this configuration is established soon after reset
@@ -135,12 +137,12 @@
/*
* USB bus activation macro, required by the USB driver.
*/
-#define usb_lld_connect_bus(usbp) palClearPad(GPIOA, GPIOA_USB_DISC)
+#define usb_lld_connect_bus(usbp) palClearPad(USB_DISC__PORT, USB_DISC__PIN)
/*
* USB bus de-activation macro, required by the USB driver.
*/
-#define usb_lld_disconnect_bus(usbp) palSetPad(GPIOA, GPIOA_USB_DISC)
+#define usb_lld_disconnect_bus(usbp) palSetPad(USB_DISC__PORT, USB_DISC__PIN)
#if !defined(_FROM_ASM_)
#ifdef __cplusplus
diff --git a/software/mpu/heartbeat.c b/software/mpu/heartbeat.c
new file mode 100644
index 0000000..120fe48
--- /dev/null
+++ b/software/mpu/heartbeat.c
@@ -0,0 +1,58 @@
+/*
+ *
+ * mur.sat
+ *
+ * Somewhen in the year 2012, mur.at will have a nano satellite launched
+ * into a low earth orbit (310 km above the surface of our planet). The
+ * satellite itself is a TubeSat personal satellite kit, developed and
+ * launched by interorbital systems. mur.sat is a joint venture of mur.at,
+ * ESC im Labor and realraum.
+ *
+ * Please visit the project hompage at sat.mur.at for further information.
+ *
+ *
+ * Copyright (C) 2013 Christian Pointner <equinox@mur.at>
+ *
+ * This file is part of mur.sat.
+ *
+ * mur.sat is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * any later version.
+ *
+ * mur.sat is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with mur.sat. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "ch.h"
+#include "hal.h"
+
+#include "heartbeat.h"
+
+static WORKING_AREA(waHeartbeat, 128);
+static msg_t Heartbeat(void *arg)
+{
+ (void)arg;
+ chRegSetThreadName("heartbeat");
+ while (TRUE) {
+ palClearPad(LED__PORT, LED__PIN);
+ chThdSleepMilliseconds(50);
+ palSetPad(LED__PORT, LED__PIN);
+ chThdSleepMilliseconds(50);
+ palClearPad(LED__PORT, LED__PIN);
+ chThdSleepMilliseconds(50);
+ palSetPad(LED__PORT, LED__PIN);
+ chThdSleepMilliseconds(850);
+ }
+}
+
+void heartbeatInit(void)
+{
+ chThdCreateStatic(waHeartbeat, sizeof(waHeartbeat), NORMALPRIO, Heartbeat, NULL);
+}
diff --git a/software/mpu/heartbeat.h b/software/mpu/heartbeat.h
new file mode 100644
index 0000000..d865745
--- /dev/null
+++ b/software/mpu/heartbeat.h
@@ -0,0 +1,38 @@
+/*
+ *
+ * mur.sat
+ *
+ * Somewhen in the year 2012, mur.at will have a nano satellite launched
+ * into a low earth orbit (310 km above the surface of our planet). The
+ * satellite itself is a TubeSat personal satellite kit, developed and
+ * launched by interorbital systems. mur.sat is a joint venture of mur.at,
+ * ESC im Labor and realraum.
+ *
+ * Please visit the project hompage at sat.mur.at for further information.
+ *
+ *
+ * Copyright (C) 2013 Christian Pointner <equinox@mur.at>
+ *
+ * This file is part of mur.sat.
+ *
+ * mur.sat is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * any later version.
+ *
+ * mur.sat is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with mur.sat. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef MURSAT_heartbeat_h_INCLUDED
+#define MURSAT_heartbeat_h_INCLUDED
+
+void heartbeatInit(void);
+
+#endif
diff --git a/software/mpu/main.c b/software/mpu/main.c
index 88691ab..8f411d5 100644
--- a/software/mpu/main.c
+++ b/software/mpu/main.c
@@ -1,38 +1,39 @@
/*
- ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
+ *
+ * mur.sat
+ *
+ * Somewhen in the year 2012, mur.at will have a nano satellite launched
+ * into a low earth orbit (310 km above the surface of our planet). The
+ * satellite itself is a TubeSat personal satellite kit, developed and
+ * launched by interorbital systems. mur.sat is a joint venture of mur.at,
+ * ESC im Labor and realraum.
+ *
+ * Please visit the project hompage at sat.mur.at for further information.
+ *
+ *
+ * Copyright (C) 2013 Christian Pointner <equinox@mur.at>
+ *
+ * This file is part of mur.sat.
+ *
+ * mur.sat is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * any later version.
+ *
+ * mur.sat is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with mur.sat. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
#include "ch.h"
#include "hal.h"
-#include "test.h"
-
-/*
- * Red LED blinker thread, times are in milliseconds.
- */
-static WORKING_AREA(waHeartbeat, 128);
-static msg_t Heartbeat(void *arg) {
- (void)arg;
- chRegSetThreadName("blinker");
- while (TRUE) {
- palClearPad(GPIOA, GPIOA_LED);
- chThdSleepMilliseconds(100);
- palSetPad(GPIOA, GPIOA_LED);
- chThdSleepMilliseconds(900);
- }
-}
+#include "heartbeat.h"
/*
* Application entry point.
@@ -49,15 +50,8 @@ int main(void) {
halInit();
chSysInit();
- /*
- * Activates the serial driver 2 using the driver default configuration.
- */
- sdStart(&SD2, NULL);
- /*
- * Creates the blinker thread.
- */
- chThdCreateStatic(waHeartbeat, sizeof(waHeartbeat), NORMALPRIO, Heartbeat, NULL);
+ heartbeatInit();
/*
* Normal main() thread activity, in this demo it does nothing except