Project Autus - Automated Plant Chamber

Dependencies:   TextLCD mbed

Fork of keypad_test by Plamen Totev

Autus

This is the codebase accompanying the project Autus.

Autus is an automated growth chamber for plants.

Features

Control Humidity inside chamber wrt to external humidity. Control Temperature inside chamber. ( Peltier Heaters/Coolers ) Water and shower plants. Control soil humidity. Monitor water tanks level (Load Cell) /media/uploads/umairaftab/frdm_-_new_page1.png

Code Base Features

Fixed timing and CRC for DHT-11 Sensor. Fixed OneWire bug for ds18b20

Cyclic Executive Scheduler with Priority. Async IPC framework for PC App over bluetooth

Fake RTC systick, I was having some trouble with the on board rtc.

/media/uploads/umairaftab/download.png

Committer:
umairaftab
Date:
Mon Apr 14 19:18:14 2014 +0000
Revision:
57:7ab93ed49b70
Parent:
38:9f4107db1bff
Cosmetic Changes, Menus added

Who changed what in which revision?

UserRevisionLine numberNew contents of line
umairaftab 38:9f4107db1bff 1 /*
umairaftab 38:9f4107db1bff 2 * OneWireCRC. This is a port to mbed of Jim Studt's Adruino One Wire
umairaftab 38:9f4107db1bff 3 * library.
umairaftab 38:9f4107db1bff 4 *
umairaftab 38:9f4107db1bff 5 * Copyright (C) <2009> Petras Saduikis <petras@petras.co.uk>
umairaftab 38:9f4107db1bff 6 *
umairaftab 38:9f4107db1bff 7 * This file is part of OneWireCRC.
umairaftab 38:9f4107db1bff 8 *
umairaftab 38:9f4107db1bff 9 * OneWireCRC is free software: you can redistribute it and/or modify
umairaftab 38:9f4107db1bff 10 * it under the terms of the GNU General Public License as published by
umairaftab 38:9f4107db1bff 11 * the Free Software Foundation, either version 3 of the License, or
umairaftab 38:9f4107db1bff 12 * (at your option) any later version.
umairaftab 38:9f4107db1bff 13 *
umairaftab 38:9f4107db1bff 14 * OneWireCRC is distributed in the hope that it will be useful,
umairaftab 38:9f4107db1bff 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
umairaftab 38:9f4107db1bff 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
umairaftab 38:9f4107db1bff 17 * GNU General Public License for more details.
umairaftab 38:9f4107db1bff 18 *
umairaftab 38:9f4107db1bff 19 * You should have received a copy of the GNU General Public License
umairaftab 38:9f4107db1bff 20 * along with OneWireCRC. If not, see <http://www.gnu.org/licenses/>.
umairaftab 38:9f4107db1bff 21 */
umairaftab 38:9f4107db1bff 22
umairaftab 38:9f4107db1bff 23 #ifndef SNATCH59_ONEWIREDEFS_H
umairaftab 38:9f4107db1bff 24 #define SNATCH59_ONEWIREDEFS_H
umairaftab 38:9f4107db1bff 25
umairaftab 38:9f4107db1bff 26 // device ids
umairaftab 38:9f4107db1bff 27 #define DS18B20_ID 0x28
umairaftab 38:9f4107db1bff 28 #define DS18S20_ID 0x10
umairaftab 38:9f4107db1bff 29
umairaftab 38:9f4107db1bff 30 #define ALARM_CONFIG_SIZE 3
umairaftab 38:9f4107db1bff 31 #define THERMOM_SCRATCHPAD_SIZE 9
umairaftab 38:9f4107db1bff 32 #define THERMOM_CRC_BYTE 8
umairaftab 38:9f4107db1bff 33 #define ADDRESS_SIZE 8
umairaftab 38:9f4107db1bff 34 #define ADDRESS_CRC_BYTE 7
umairaftab 38:9f4107db1bff 35
umairaftab 38:9f4107db1bff 36 // One Wire command codes
umairaftab 38:9f4107db1bff 37 #define OVERDRIVE_SKIP 0x3C
umairaftab 38:9f4107db1bff 38 // ROM commands
umairaftab 38:9f4107db1bff 39 #define SEARCH_ROM 0xF0
umairaftab 38:9f4107db1bff 40 #define READ_ROM 0x33
umairaftab 38:9f4107db1bff 41 #define MATCH_ROM 0x55
umairaftab 38:9f4107db1bff 42 #define SKIP_ROM 0xCC
umairaftab 38:9f4107db1bff 43 #define ALARM_SEARCH 0xEC
umairaftab 38:9f4107db1bff 44 // Functions Commnds
umairaftab 38:9f4107db1bff 45 #define CONVERT 0x44
umairaftab 38:9f4107db1bff 46 #define WRITESCRATCH 0x4E
umairaftab 38:9f4107db1bff 47 #define READSCRATCH 0xBE
umairaftab 38:9f4107db1bff 48 #define COPYSCRATCH 0x48
umairaftab 38:9f4107db1bff 49 #define RECALLE2 0xB8
umairaftab 38:9f4107db1bff 50 #define READPOWERSUPPLY 0xB4
umairaftab 38:9f4107db1bff 51
umairaftab 38:9f4107db1bff 52 // temperature read resolutions
umairaftab 38:9f4107db1bff 53 enum eResolution {nineBit = 0, tenBit, elevenBit, twelveBit};
umairaftab 38:9f4107db1bff 54 const int CONVERSION_TIME[] = {94, 188, 375, 750}; // milli-seconds
umairaftab 38:9f4107db1bff 55
umairaftab 38:9f4107db1bff 56 // DS18B20/DS18S20 related
umairaftab 38:9f4107db1bff 57 #define TEMPERATURE_LSB 0
umairaftab 38:9f4107db1bff 58 #define TEMPERATURE_MSB 1
umairaftab 38:9f4107db1bff 59 #define HIGH_ALARM_BYTE 2
umairaftab 38:9f4107db1bff 60 #define LOW_ALARM_BYTE 3
umairaftab 38:9f4107db1bff 61 #define CONFIG_REG_BYTE 4
umairaftab 38:9f4107db1bff 62 #define CONFIG_READ_END 5
umairaftab 38:9f4107db1bff 63 #define COUNT_REMAIN_BYTE 6
umairaftab 38:9f4107db1bff 64 #define COUNT_PER_DEG_BYTE 7
umairaftab 38:9f4107db1bff 65
umairaftab 38:9f4107db1bff 66 #endif