From c30ce983d96d7e947436698b77bd9628cc192231 Mon Sep 17 00:00:00 2001 From: sergeyyarkov Date: Sat, 8 Jul 2023 19:29:07 +0300 Subject: [PATCH] read temperature --- .../12c67fe6cdcd6963bda122da91f9033805394b5f | 37 ++ .../5312daf68dcab5b5e0043f8514afba88eb8ddeb0 | 1 + .../852a931b512b8c8a6143655dd7f5022a6cb025f5 | 1 + .../ebd6578f553cc856320c4e3fab74007688bb7df4 | 1 + .../f032a224192bd107f2123e08604a3b5b0f41643c | 1 + Makefile | 113 +++++ build/default/debug/main.o | Bin 0 -> 9488 bytes build/default/debug/main.o.d | 57 +++ build/default/debug/onewire.o | Bin 0 -> 11532 bytes build/default/debug/onewire.o.d | 58 +++ build/default/production/main.o | Bin 0 -> 2472 bytes build/default/production/main.o.d | 57 +++ build/default/production/onewire.o | Bin 0 -> 2136 bytes build/default/production/onewire.o.d | 58 +++ disassembly/listing.disasm | 56 ++ .../debug/attiny45v_thermometer.X.debug.elf | Bin 0 -> 14256 bytes .../debug/attiny45v_thermometer.X.debug.map | 480 ++++++++++++++++++ .../attiny45v_thermometer.X.production.elf | Bin 0 -> 6484 bytes .../attiny45v_thermometer.X.production.hex | 36 ++ .../attiny45v_thermometer.X.production.map | 457 +++++++++++++++++ main.c | 60 +++ nbproject/Makefile-default.mk | 189 +++++++ nbproject/Makefile-genesis.properties | 14 + nbproject/Makefile-impl.mk | 69 +++ nbproject/Makefile-local-default.mk | 37 ++ nbproject/Makefile-variables.mk | 10 + nbproject/configurations.xml | 265 ++++++++++ nbproject/private/configurations.xml | 25 + nbproject/private/private.xml | 9 + nbproject/project.xml | 27 + onewire.c | 75 +++ onewire.h | 29 ++ 32 files changed, 2222 insertions(+) create mode 100644 .generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f create mode 100644 .generated_files/flags/default/5312daf68dcab5b5e0043f8514afba88eb8ddeb0 create mode 100644 .generated_files/flags/default/852a931b512b8c8a6143655dd7f5022a6cb025f5 create mode 100644 .generated_files/flags/default/ebd6578f553cc856320c4e3fab74007688bb7df4 create mode 100644 .generated_files/flags/default/f032a224192bd107f2123e08604a3b5b0f41643c create mode 100644 Makefile create mode 100644 build/default/debug/main.o create mode 100644 build/default/debug/main.o.d create mode 100644 build/default/debug/onewire.o create mode 100644 build/default/debug/onewire.o.d create mode 100644 build/default/production/main.o create mode 100644 build/default/production/main.o.d create mode 100644 build/default/production/onewire.o create mode 100644 build/default/production/onewire.o.d create mode 100644 disassembly/listing.disasm create mode 100755 dist/default/debug/attiny45v_thermometer.X.debug.elf create mode 100644 dist/default/debug/attiny45v_thermometer.X.debug.map create mode 100755 dist/default/production/attiny45v_thermometer.X.production.elf create mode 100644 dist/default/production/attiny45v_thermometer.X.production.hex create mode 100644 dist/default/production/attiny45v_thermometer.X.production.map create mode 100644 main.c create mode 100644 nbproject/Makefile-default.mk create mode 100644 nbproject/Makefile-genesis.properties create mode 100644 nbproject/Makefile-impl.mk create mode 100644 nbproject/Makefile-local-default.mk create mode 100644 nbproject/Makefile-variables.mk create mode 100644 nbproject/configurations.xml create mode 100644 nbproject/private/configurations.xml create mode 100644 nbproject/private/private.xml create mode 100644 nbproject/project.xml create mode 100644 onewire.c create mode 100644 onewire.h diff --git a/.generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f b/.generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f new file mode 100644 index 0000000..952e823 --- /dev/null +++ b/.generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f @@ -0,0 +1,37 @@ +# +# Generated Makefile - do not edit! +# +# +# This file contains information about the location of compilers and other tools. +# If you commmit this file into your revision control server, you will be able to +# to checkout the project and build it from the command line with make. However, +# if more than one person works on the same project, then this file might show +# conflicts since different users are bound to have compilers in different places. +# In that case you might choose to not commit this file and let MPLAB X recreate this file +# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at +# least once so the file gets created and the project can be built. Finally, you can also +# avoid using this file at all if you are only building from the command line with make. +# You can invoke make with the values of the macros: +# $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ... +# +PATH_TO_IDE_BIN=/opt/microchip/mplabx/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/ +# Adding MPLAB X bin directory to path. +PATH:=/opt/microchip/mplabx/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH) +# Path to java used to run MPLAB X when this makefile was created +MP_JAVA_PATH="/opt/microchip/mplabx/v6.00/sys/java/zulu8.54.0.21-ca-fx-jre8.0.292-linux_x64/bin/" +OS_CURRENT="$(shell uname -s)" +MP_CC="/opt/avr8-gnu-toolchain-linux_x86_64/bin/avr-gcc" +MP_CPPC="/opt/avr8-gnu-toolchain-linux_x86_64/bin/avr-g++" +# MP_BC is not defined +MP_AS="/opt/avr8-gnu-toolchain-linux_x86_64/bin/avr-as" +MP_LD="/opt/avr8-gnu-toolchain-linux_x86_64/bin/avr-ld" +MP_AR="/opt/avr8-gnu-toolchain-linux_x86_64/bin/avr-ar" +DEP_GEN=${MP_JAVA_PATH}java -jar "/opt/microchip/mplabx/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar" +MP_CC_DIR="/opt/avr8-gnu-toolchain-linux_x86_64/bin" +MP_CPPC_DIR="/opt/avr8-gnu-toolchain-linux_x86_64/bin" +# MP_BC_DIR is not defined +MP_AS_DIR="/opt/avr8-gnu-toolchain-linux_x86_64/bin" +MP_LD_DIR="/opt/avr8-gnu-toolchain-linux_x86_64/bin" +MP_AR_DIR="/opt/avr8-gnu-toolchain-linux_x86_64/bin" +# MP_BC_DIR is not defined +DFP_DIR=/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151 diff --git a/.generated_files/flags/default/5312daf68dcab5b5e0043f8514afba88eb8ddeb0 b/.generated_files/flags/default/5312daf68dcab5b5e0043f8514afba88eb8ddeb0 new file mode 100644 index 0000000..05a0cd4 --- /dev/null +++ b/.generated_files/flags/default/5312daf68dcab5b5e0043f8514afba88eb8ddeb0 @@ -0,0 +1 @@ + $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/onewire.c \ No newline at end of file diff --git a/.generated_files/flags/default/852a931b512b8c8a6143655dd7f5022a6cb025f5 b/.generated_files/flags/default/852a931b512b8c8a6143655dd7f5022a6cb025f5 new file mode 100644 index 0000000..37e648e --- /dev/null +++ b/.generated_files/flags/default/852a931b512b8c8a6143655dd7f5022a6cb025f5 @@ -0,0 +1 @@ + $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/main.c \ No newline at end of file diff --git a/.generated_files/flags/default/ebd6578f553cc856320c4e3fab74007688bb7df4 b/.generated_files/flags/default/ebd6578f553cc856320c4e3fab74007688bb7df4 new file mode 100644 index 0000000..a07ed24 --- /dev/null +++ b/.generated_files/flags/default/ebd6578f553cc856320c4e3fab74007688bb7df4 @@ -0,0 +1 @@ + $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -g -DDEBUG -gdwarf-2 -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/main.c \ No newline at end of file diff --git a/.generated_files/flags/default/f032a224192bd107f2123e08604a3b5b0f41643c b/.generated_files/flags/default/f032a224192bd107f2123e08604a3b5b0f41643c new file mode 100644 index 0000000..ce6331c --- /dev/null +++ b/.generated_files/flags/default/f032a224192bd107f2123e08604a3b5b0f41643c @@ -0,0 +1 @@ + $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -g -DDEBUG -gdwarf-2 -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/onewire.c \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..fca8e2c --- /dev/null +++ b/Makefile @@ -0,0 +1,113 @@ +# +# There exist several targets which are by default empty and which can be +# used for execution of your targets. These targets are usually executed +# before and after some main targets. They are: +# +# .build-pre: called before 'build' target +# .build-post: called after 'build' target +# .clean-pre: called before 'clean' target +# .clean-post: called after 'clean' target +# .clobber-pre: called before 'clobber' target +# .clobber-post: called after 'clobber' target +# .all-pre: called before 'all' target +# .all-post: called after 'all' target +# .help-pre: called before 'help' target +# .help-post: called after 'help' target +# +# Targets beginning with '.' are not intended to be called on their own. +# +# Main targets can be executed directly, and they are: +# +# build build a specific configuration +# clean remove built files from a configuration +# clobber remove all built files +# all build all configurations +# help print help mesage +# +# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and +# .help-impl are implemented in nbproject/makefile-impl.mk. +# +# Available make variables: +# +# CND_BASEDIR base directory for relative paths +# CND_DISTDIR default top distribution directory (build artifacts) +# CND_BUILDDIR default top build directory (object files, ...) +# CONF name of current configuration +# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) +# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) +# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) +# CND_PACKAGE_DIR_${CONF} directory of package (current configuration) +# CND_PACKAGE_NAME_${CONF} name of package (current configuration) +# CND_PACKAGE_PATH_${CONF} path to package (current configuration) +# +# NOCDDL + + +# Environment +MKDIR=mkdir +CP=cp +CCADMIN=CCadmin +RANLIB=ranlib + + +# build +build: .build-post + +.build-pre: +# Add your pre 'build' code here... + +.build-post: .build-impl +# Add your post 'build' code here... + + +# clean +clean: .clean-post + +.clean-pre: +# Add your pre 'clean' code here... +# WARNING: the IDE does not call this target since it takes a long time to +# simply run make. Instead, the IDE removes the configuration directories +# under build and dist directly without calling make. +# This target is left here so people can do a clean when running a clean +# outside the IDE. + +.clean-post: .clean-impl +# Add your post 'clean' code here... + + +# clobber +clobber: .clobber-post + +.clobber-pre: +# Add your pre 'clobber' code here... + +.clobber-post: .clobber-impl +# Add your post 'clobber' code here... + + +# all +all: .all-post + +.all-pre: +# Add your pre 'all' code here... + +.all-post: .all-impl +# Add your post 'all' code here... + + +# help +help: .help-post + +.help-pre: +# Add your pre 'help' code here... + +.help-post: .help-impl +# Add your post 'help' code here... + + + +# include project implementation makefile +include nbproject/Makefile-impl.mk + +# include project make variables +include nbproject/Makefile-variables.mk diff --git a/build/default/debug/main.o b/build/default/debug/main.o new file mode 100644 index 0000000000000000000000000000000000000000..bd87658996e24d17f1c65beb5c125c7ff3e7b2a0 GIT binary patch literal 9488 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 W`CdU^i*d1bU3;@|!1o4A7XA;JNlQuq literal 0 HcmV?d00001 diff --git a/build/default/debug/main.o.d b/build/default/debug/main.o.d new file mode 100644 index 0000000..ded4f03 --- /dev/null +++ b/build/default/debug/main.o.d @@ -0,0 +1,57 @@ +build/default/debug/main.o.d build/default/debug/main.o: main.c \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h \ + /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h onewire.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h: + +/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h: + +onewire.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h: diff --git a/build/default/debug/onewire.o b/build/default/debug/onewire.o new file mode 100644 index 0000000000000000000000000000000000000000..de674183d7a1bda8f11d5c3dff0997324a00c36b GIT binary patch literal 11532 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 QwZz`hxp;m6XNs}+Kl3JJ#sB~S literal 0 HcmV?d00001 diff --git a/build/default/debug/onewire.o.d b/build/default/debug/onewire.o.d new file mode 100644 index 0000000..429c516 --- /dev/null +++ b/build/default/debug/onewire.o.d @@ -0,0 +1,58 @@ +build/default/debug/onewire.o.d build/default/debug/onewire.o: onewire.c \ + onewire.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h \ + /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h + +onewire.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h: + +/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h: diff --git a/build/default/production/main.o b/build/default/production/main.o new file mode 100644 index 0000000000000000000000000000000000000000..a90d857c637bb568675db349605e029206450313 GIT binary patch literal 2472 zcma)7OKcoP5Uuen_LAS)4uTLqwh2m%6wTU6gahJZ;sgUquvvd{LF$Zm2fSi`njMhC z#h*kZponC%SxZ)qTsR;UDThcP!AhJW0U3^PAOl3oAslR!12Emx>;nYHf=zOU^IS^bo&L&oRmN@Vi z#^J1lR$9^=7W%9YgI*pEuJm1^@%5+K`6f;>*jJ`P~CX2;fde+Vs#C~hY8W4j+ z&prE0?~t|M8VHXs^3l&ZMr-T3*}Uf#h)inJ&CE@Tv*x9yc5S_j@rxSY$@pcB?`mRz zwe=)_TQx-U$L{eqi5o$aM)sD%q)jct$fV5?zBR(PMR9%I?qOJ6o;)kUBCN0xw?@uJdk)KXlxpB!}%>&Mr?nY)v_KW+Ls{ zUV64! zWv7sKNb?zWJe1;a5%0SW9UGYvuNSgjxIvZ9E#{jskO#F1ktvFF&aquFQ!eA2aJJ@l zAfhciOk55Nx}hD1$bzXu;%>&!fB7tU{hM=aH4M zJ)10Ch2=Uq+k)28?m5zG8#}3n+1MIsl}3tY!)R;pIKo=ED)hQQ1EDs>wf?oz#eCi= zc;S}+*XJ?z!gIv=LU87~sHfV;N?=nO@8`FN?P2f!huF{^fMlM-Z{=Y$vWi4(^Pq{GS=_o;C=Fb zw}BsiKa{BYeqjahfHWZ9pmLHn*inb-6_~&0`u+frqT*rJ|FLtdSml8?je&jOt)mt_ N-rG#NR1mf)_z##BZ6p8y literal 0 HcmV?d00001 diff --git a/build/default/production/main.o.d b/build/default/production/main.o.d new file mode 100644 index 0000000..cd85e0f --- /dev/null +++ b/build/default/production/main.o.d @@ -0,0 +1,57 @@ +build/default/production/main.o.d build/default/production/main.o: main.c \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h \ + /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h onewire.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h: + +/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h: + +onewire.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h: diff --git a/build/default/production/onewire.o b/build/default/production/onewire.o new file mode 100644 index 0000000000000000000000000000000000000000..3c4316c90e1a46684d45773fa083bd1659016be3 GIT binary patch literal 2136 zcma)6OHUI~6h70U)+a)Y7+;_A_ubBIho(kPa_4;K^__dqz3rpRT~`dl5G{uE zO2HC&vPt9xf~QnMom5J>tWKsDre=Tr_`T3DWvob6q-tjE$6AJX;_c#M!JnLbT01@( z$UI*-vLM;o+2Hp!WL3?yeWsRda&jV*3K>hQlVj^DuKb9rJTPZjJEp1|zv-G>#Y6^t zZhouMZ(d4vY=|{7KVCuo>?aU9m#3@KbLmg%XGSjaDK(d>PL-zuna7JV|J4Xs)!j1x zG@Y&bu*Fzmg>+oH)K*h>;bxE3YV}7PtK-@Y>v}9UJTMfFM6D*X#SB^vEvK7L)U=pQ zW>C-1tG#n9ljU`9%)epEB7X6C!?69b9iDS}@ACQ{;Ikh45b$}AeLRl|me(8cE$pGV zf7ym?zickD14Z_>B6~-Xy(_;L_N|mM3Aq_(l)YK{U7K&IQUa22?cK`WCXZb^R}cPJ z)V?2y+vb2+R&U7aw5%NH%7LEC9SS%jqgLF$qwqsJ9&?TEsNIKZD-^dAc67iN?dXd~ z9Q)z}r{L+a!-E?fz4s!cJ>6IHB}||#Jhcy_;52q&`2o29eXf5m^nTZW5c-(wKMKwJ zVSXJnr|-uF*FY;yU~=+~eZZB_@HyC!sl4)^dK$Sj=gK=F&W@ z@uMNRRbPDASDgizXHk0qCQl8P519SAZ(^RK9*aDDB|#4cRA;1CXWW^~VGr(sqI$v4 zy(m9F5aq{*^W*GvzB(^@QP|gq9QssWVD4GW#Dfth+z;)$Y!xQ|M96%O-)0`cJckUJa zdp`mvvEL2;Ew2`F-r>LU8jw@mm+wQ1?#uh(y|=r8Ac#AGc}Mhf@hb6C+Q4@kHvcEI zXg=0@`I6vE!bd*NK=a)N_U`XBZ10&hpY7JPLsOQ(cMF<)oP*|@0QT~IbaSATXufe+ z-u;DO1mPnepS9+D1?=Vf0=v}wrrnx$Xv!D}^!zwC&G!zNeC$Qp2ZMK{g)y!QEF3W} m??I5wTe%#X%=LNvU2uf3SkJStFZEU|FW)qZ((q{^59JSmrz2bd literal 0 HcmV?d00001 diff --git a/build/default/production/onewire.o.d b/build/default/production/onewire.o.d new file mode 100644 index 0000000..429986b --- /dev/null +++ b/build/default/production/onewire.o.d @@ -0,0 +1,58 @@ +build/default/production/onewire.o.d build/default/production/onewire.o: \ + onewire.c onewire.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h \ + /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h + +onewire.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h: + +/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h: diff --git a/disassembly/listing.disasm b/disassembly/listing.disasm new file mode 100644 index 0000000..b69533b --- /dev/null +++ b/disassembly/listing.disasm @@ -0,0 +1,56 @@ +Disassembly Listing for attiny45v_thermometer +Generated From: +/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/dist/default/debug/attiny45v_thermometer.X.debug.elf +Jul 7, 2023 10:14:05 PM + +--- /home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/main.c ---------------- +1: #define F_CPU 8000000UL +2: +3: #include +4: #include +5: +6: void MCU_Init(void) { +7: DDRB = _BV(PB0) | _BV(PB1) | _BV(PB2); +0018 E087 LDI R24, 0x07 +0019 BB87 OUT 0x17, R24 +8: PORTB = 0x00; +001A BA18 OUT 0x18, R1 +9: } +001B 9508 RET +10: +11: int main(void) { +12: MCU_Init(); +001C DFFB RCALL MCU_Init +13: +14: while(1) { +15: asm("nop"); +001D 0000 NOP +001E CFFE RJMP 0x1D +16: } +17: return 0; +18: } +--- ././././crt1/gcrt1.S ------------------------------------------------------------------------------ +0000 C00E RJMP __trampolines_start +0001 C015 RJMP __bad_interrupt +0002 C014 RJMP __bad_interrupt +0003 C013 RJMP __bad_interrupt +0004 C012 RJMP __bad_interrupt +0005 C011 RJMP __bad_interrupt +0006 C010 RJMP __bad_interrupt +0007 C00F RJMP __bad_interrupt +0008 C00E RJMP __bad_interrupt +0009 C00D RJMP __bad_interrupt +000A C00C RJMP __bad_interrupt +000B C00B RJMP __bad_interrupt +000C C00A RJMP __bad_interrupt +000D C009 RJMP __bad_interrupt +000E C008 RJMP __bad_interrupt +0017 CFE8 RJMP __vectors +000F 2411 EOR R1, R1 +0010 BE1F OUT 0x3F, R1 +0011 E5CF LDI R28, 0x5F +0012 E0D1 LDI R29, 0x01 +0013 BFDE OUT 0x3E, R29 +0014 BFCD OUT 0x3D, R28 +0015 D006 RCALL main +0016 C008 RJMP _exit diff --git a/dist/default/debug/attiny45v_thermometer.X.debug.elf b/dist/default/debug/attiny45v_thermometer.X.debug.elf new file mode 100755 index 0000000000000000000000000000000000000000..8d832e12cb810304ca608d307c6468136b0e145c GIT binary patch literal 14256 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 literal 0 HcmV?d00001 diff --git a/dist/default/debug/attiny45v_thermometer.X.debug.map b/dist/default/debug/attiny45v_thermometer.X.debug.map new file mode 100644 index 0000000..dc0831b --- /dev/null +++ b/dist/default/debug/attiny45v_thermometer.X.debug.map @@ -0,0 +1,480 @@ +Archive member included to satisfy reference by file (symbol) + +/opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o (exit) +/opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + build/default/debug/main.o (__do_clear_bss) + +Discarded input sections + + .data 0x0000000000000000 0x0 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + .bss 0x0000000000000000 0x0 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + .text 0x0000000000000000 0x0 build/default/debug/main.o + .data 0x0000000000000000 0x0 build/default/debug/main.o + .bss 0x0000000000000000 0x0 build/default/debug/main.o + .text 0x0000000000000000 0x0 build/default/debug/onewire.o + .data 0x0000000000000000 0x0 build/default/debug/onewire.o + .bss 0x0000000000000000 0x0 build/default/debug/onewire.o + .text 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + .data 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + .bss 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + .text.libgcc.mul + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + .text.libgcc.div + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + .text.libgcc 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + .text.libgcc.prologue + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + .text.libgcc.builtins + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + .text.libgcc.fmul + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + .text.libgcc.fixed + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + .text 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + .data 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + .bss 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + .text.libgcc.mul + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + .text.libgcc.div + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + .text.libgcc 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + .text.libgcc.prologue + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + .text.libgcc.builtins + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + .text.libgcc.fmul + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + .text.libgcc.fixed + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + +Memory Configuration + +Name Origin Length Attributes +text 0x0000000000000000 0x0000000000001000 xr +data 0x0000000000800060 0x0000000000000100 rw !x +eeprom 0x0000000000810000 0x0000000000000100 rw !x +fuse 0x0000000000820000 0x0000000000000003 rw !x +lock 0x0000000000830000 0x0000000000000400 rw !x +signature 0x0000000000840000 0x0000000000000400 rw !x +user_signatures 0x0000000000850000 0x0000000000000400 rw !x +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +LOAD /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o +LOAD build/default/debug/main.o +LOAD build/default/debug/onewire.o + 0x0000000000000001 __MPLAB_BUILD = 0x1 + 0x0000000000000001 __ICD2RAM = 0x1 + 0x0000000000000001 __MPLAB_DEBUG = 0x1 + 0x0000000000000001 __DEBUG = 0x1 +START GROUP +LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr25/libm.a +END GROUP +START GROUP +LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a +LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr25/libm.a +LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr25/libc.a +LOAD /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/libattiny45.a +END GROUP + 0x0000000000000000 __TEXT_REGION_ORIGIN__ = DEFINED (__TEXT_REGION_ORIGIN__)?__TEXT_REGION_ORIGIN__:0x0 + [0x0000000000800060] __DATA_REGION_ORIGIN__ = DEFINED (__DATA_REGION_ORIGIN__)?__DATA_REGION_ORIGIN__:0x800060 + [0x0000000000001000] __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x2000 + [0x0000000000000100] __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0 + [0x0000000000000100] __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000 + [0x0000000000000003] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400 + 0x0000000000000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400 + 0x0000000000000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400 + 0x0000000000000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400 + +.hash + *(.hash) + +.dynsym + *(.dynsym) + +.dynstr + *(.dynstr) + +.gnu.version + *(.gnu.version) + +.gnu.version_d + *(.gnu.version_d) + +.gnu.version_r + *(.gnu.version_r) + +.rel.init + *(.rel.init) + +.rela.init + *(.rela.init) + +.rel.text + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + +.rela.text + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + +.rel.fini + *(.rel.fini) + +.rela.fini + *(.rela.fini) + +.rel.rodata + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + +.rela.rodata + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + +.rel.data + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + +.rela.data + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + +.rel.ctors + *(.rel.ctors) + +.rela.ctors + *(.rela.ctors) + +.rel.dtors + *(.rel.dtors) + +.rela.dtors + *(.rela.dtors) + +.rel.got + *(.rel.got) + +.rela.got + *(.rela.got) + +.rel.bss + *(.rel.bss) + +.rela.bss + *(.rela.bss) + +.rel.plt + *(.rel.plt) + +.rela.plt + *(.rela.plt) + +.text 0x0000000000000000 0x22c + *(.vectors) + .vectors 0x0000000000000000 0x1e /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + 0x0000000000000000 __vectors + 0x0000000000000000 __vector_default + *(.vectors) + *(.progmem.gcc*) + 0x000000000000001e . = ALIGN (0x2) + 0x000000000000001e __trampolines_start = . + *(.trampolines) + .trampolines 0x000000000000001e 0x0 linker stubs + *(.trampolines*) + 0x000000000000001e __trampolines_end = . + *libprintf_flt.a:*(.progmem.data) + *libc.a:*(.progmem.data) + *(.progmem*) + 0x000000000000001e . = ALIGN (0x2) + *(.jumptables) + *(.jumptables*) + *(.lowtext) + *(.lowtext*) + 0x000000000000001e __ctors_start = . + *(.ctors) + 0x000000000000001e __ctors_end = . + 0x000000000000001e __dtors_start = . + *(.dtors) + 0x000000000000001e __dtors_end = . + SORT(*)(.ctors) + SORT(*)(.dtors) + *(.init0) + .init0 0x000000000000001e 0x0 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + 0x000000000000001e __init + *(.init0) + *(.init1) + *(.init1) + *(.init2) + .init2 0x000000000000001e 0xc /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + *(.init2) + *(.init3) + *(.init3) + *(.init4) + .init4 0x000000000000002a 0x10 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_clear_bss.o) + 0x000000000000002a __do_clear_bss + *(.init4) + *(.init5) + *(.init5) + *(.init6) + *(.init6) + *(.init7) + *(.init7) + *(.init8) + *(.init8) + *(.init9) + .init9 0x000000000000003a 0x4 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + *(.init9) + *(.text) + .text 0x000000000000003e 0x2 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + 0x000000000000003e __vector_1 + 0x000000000000003e __vector_12 + 0x000000000000003e __bad_interrupt + 0x000000000000003e __vector_6 + 0x000000000000003e __vector_3 + 0x000000000000003e __vector_11 + 0x000000000000003e __vector_13 + 0x000000000000003e __vector_7 + 0x000000000000003e __vector_5 + 0x000000000000003e __vector_4 + 0x000000000000003e __vector_9 + 0x000000000000003e __vector_2 + 0x000000000000003e __vector_8 + 0x000000000000003e __vector_14 + 0x000000000000003e __vector_10 + 0x0000000000000040 . = ALIGN (0x2) + *(.text.*) + .text.DallasTemp_ReadScratchpad + 0x0000000000000040 0x2c build/default/debug/main.o + 0x0000000000000040 DallasTemp_ReadScratchpad + .text.DallasTemp_Convert + 0x000000000000006c 0x14 build/default/debug/main.o + 0x000000000000006c DallasTemp_Convert + .text.DallasTemp_GetTemperature + 0x0000000000000080 0x96 build/default/debug/main.o + 0x0000000000000080 DallasTemp_GetTemperature + .text.MCU_Init + 0x0000000000000116 0x8 build/default/debug/main.o + 0x0000000000000116 MCU_Init + .text.main 0x000000000000011e 0x26 build/default/debug/main.o + 0x000000000000011e main + .text.OneWire_Presence + 0x0000000000000144 0x32 build/default/debug/onewire.o + 0x0000000000000144 OneWire_Presence + .text.OneWire_WriteByte + 0x0000000000000176 0x3c build/default/debug/onewire.o + 0x0000000000000176 OneWire_WriteByte + .text.OneWire_ReadByte + 0x00000000000001b2 0x34 build/default/debug/onewire.o + 0x00000000000001b2 OneWire_ReadByte + .text.OneWire_SkipROM + 0x00000000000001e6 0x10 build/default/debug/onewire.o + 0x00000000000001e6 OneWire_SkipROM + .text.OneWire_ReadROM + 0x00000000000001f6 0x32 build/default/debug/onewire.o + 0x00000000000001f6 OneWire_ReadROM + 0x0000000000000228 . = ALIGN (0x2) + *(.fini9) + .fini9 0x0000000000000228 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + 0x0000000000000228 exit + 0x0000000000000228 _exit + *(.fini9) + *(.fini8) + *(.fini8) + *(.fini7) + *(.fini7) + *(.fini6) + *(.fini6) + *(.fini5) + *(.fini5) + *(.fini4) + *(.fini4) + *(.fini3) + *(.fini3) + *(.fini2) + *(.fini2) + *(.fini1) + *(.fini1) + *(.fini0) + .fini0 0x0000000000000228 0x4 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + *(.fini0) + 0x000000000000022c _etext = . + +.data 0x0000000000800060 0x0 load address 0x000000000000022c + [!provide] PROVIDE (__data_start, .) + *(.data) + *(.data*) + *(.gnu.linkonce.d*) + *(.rodata) + *(.rodata*) + *(.gnu.linkonce.r*) + 0x0000000000800060 . = ALIGN (0x2) + 0x0000000000800060 _edata = . + [!provide] PROVIDE (__data_end, .) + +.bss 0x0000000000800060 0x11 + 0x0000000000800060 PROVIDE (__bss_start, .) + *(.bss) + *(.bss*) + .bss.dallas_rom + 0x0000000000800060 0x8 build/default/debug/main.o + 0x0000000000800060 dallas_rom + .bss.dallas_scratchpad + 0x0000000000800068 0x9 build/default/debug/main.o + 0x0000000000800068 dallas_scratchpad + *(COMMON) + 0x0000000000800071 PROVIDE (__bss_end, .) + 0x000000000000022c __data_load_start = LOADADDR (.data) + 0x000000000000022c __data_load_end = (__data_load_start + SIZEOF (.data)) + +.noinit 0x0000000000800071 0x0 + [!provide] PROVIDE (__noinit_start, .) + *(.noinit*) + [!provide] PROVIDE (__noinit_end, .) + 0x0000000000800071 _end = . + [!provide] PROVIDE (__heap_start, .) + +.eeprom 0x0000000000810000 0x0 + *(.eeprom*) + 0x0000000000810000 __eeprom_end = . + +.fuse + *(.fuse) + *(.lfuse) + *(.hfuse) + *(.efuse) + +.lock + *(.lock*) + +.signature + *(.signature*) + +.user_signatures + *(.user_signatures*) + +.stab + *(.stab) + +.stabstr + *(.stabstr) + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x0000000000000000 0x30 + *(.comment) + .comment 0x0000000000000000 0x30 build/default/debug/main.o + 0x31 (size before relaxing) + .comment 0x0000000000000030 0x31 build/default/debug/onewire.o + +.note.gnu.avr.deviceinfo + 0x0000000000000000 0x3c + .note.gnu.avr.deviceinfo + 0x0000000000000000 0x3c /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + +.note.gnu.build-id + *(.note.gnu.build-id) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x0000000000000000 0x80 + *(.debug_aranges) + .debug_aranges + 0x0000000000000000 0x40 build/default/debug/main.o + .debug_aranges + 0x0000000000000040 0x40 build/default/debug/onewire.o + +.debug_pubnames + *(.debug_pubnames) + +.debug_info 0x0000000000000000 0xd5f + *(.debug_info .gnu.linkonce.wi.*) + .debug_info 0x0000000000000000 0x420 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + .debug_info 0x0000000000000420 0x40e build/default/debug/main.o + .debug_info 0x000000000000082e 0x531 build/default/debug/onewire.o + +.debug_abbrev 0x0000000000000000 0x861 + *(.debug_abbrev) + .debug_abbrev 0x0000000000000000 0x3e8 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + .debug_abbrev 0x00000000000003e8 0x257 build/default/debug/main.o + .debug_abbrev 0x000000000000063f 0x222 build/default/debug/onewire.o + +.debug_line 0x0000000000000000 0x526 + *(.debug_line .debug_line.* .debug_line_end) + .debug_line 0x0000000000000000 0xf2 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + .debug_line 0x00000000000000f2 0x1be build/default/debug/main.o + .debug_line 0x00000000000002b0 0x276 build/default/debug/onewire.o + +.debug_frame 0x0000000000000000 0x114 + *(.debug_frame) + .debug_frame 0x0000000000000000 0x9c build/default/debug/main.o + .debug_frame 0x000000000000009c 0x78 build/default/debug/onewire.o + +.debug_str 0x0000000000000000 0x42a + *(.debug_str) + .debug_str 0x0000000000000000 0x169 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + .debug_str 0x0000000000000169 0x287 build/default/debug/main.o + 0x2cc (size before relaxing) + .debug_str 0x00000000000003f0 0x3a build/default/debug/onewire.o + 0x25d (size before relaxing) + +.debug_loc 0x0000000000000000 0x656 + *(.debug_loc) + .debug_loc 0x0000000000000000 0x1ec build/default/debug/main.o + .debug_loc 0x00000000000001ec 0x46a build/default/debug/onewire.o + +.debug_macinfo + *(.debug_macinfo) + +.debug_weaknames + *(.debug_weaknames) + +.debug_funcnames + *(.debug_funcnames) + +.debug_typenames + *(.debug_typenames) + +.debug_varnames + *(.debug_varnames) + +.debug_pubtypes + *(.debug_pubtypes) + +.debug_ranges 0x0000000000000000 0x60 + *(.debug_ranges) + .debug_ranges 0x0000000000000000 0x30 build/default/debug/main.o + .debug_ranges 0x0000000000000030 0x30 build/default/debug/onewire.o + +.debug_macro + *(.debug_macro) +OUTPUT(dist/default/debug/attiny45v_thermometer.X.debug.elf elf32-avr) +LOAD linker stubs diff --git a/dist/default/production/attiny45v_thermometer.X.production.elf b/dist/default/production/attiny45v_thermometer.X.production.elf new file mode 100755 index 0000000000000000000000000000000000000000..975888f8a05197887f5c636c02e7536054dcbd0b GIT binary patch literal 6484 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 +#include +#include +#include "onewire.h" + +#define DS18B20_CMD_CONVERTTEMP 0x44 +#define DS18B20_CMD_RSCRATCHPAD 0xbe + +uint8_t dallas_scratchpad[9] = {0, 0, 0, 0, 0, 0, 0, 0}; +uint8_t dallas_rom[8] = { 0, 0, 0, 0, 0, 0, 0, 0, }; + +uint8_t DallasTemp_ReadScratchpad() { + uint8_t i = 0; + + OneWire_SkipROM(); + OneWire_WriteByte(DS18B20_CMD_RSCRATCHPAD); + + + while (i < 9) { + dallas_scratchpad[i++] = OneWire_ReadByte(); + } + + return 1; +} + +uint8_t DallasTemp_Convert() { + if (!OneWire_Presence()) return 0; + OneWire_WriteByte(ONE_WIRE_SKIPROM); + OneWire_WriteByte(DS18B20_CMD_CONVERTTEMP); + return 1; +} + +void DallasTemp_GetTemperature(int8_t *data, uint8_t *fraction) { + DallasTemp_Convert(); + _delay_ms(750); + DallasTemp_ReadScratchpad(); + + (*data) = ((dallas_scratchpad[1] << 8) | dallas_scratchpad[0]) / 16; + (*fraction) = ((dallas_scratchpad[0] & 0x0f) * 100) / 16; +} + +void MCU_Init(void) { + DDRB = _BV(PB1) | _BV(PB2); + PORTB = 0x00; +} + +int main(void) { + MCU_Init(); + + int8_t temperature = 0; + uint8_t fraction = 0; + + OneWire_ReadROM(dallas_rom); + + while (1) { + DallasTemp_GetTemperature(&temperature, &fraction); + asm("nop"); + } + return 0; +} \ No newline at end of file diff --git a/nbproject/Makefile-default.mk b/nbproject/Makefile-default.mk new file mode 100644 index 0000000..d3f9320 --- /dev/null +++ b/nbproject/Makefile-default.mk @@ -0,0 +1,189 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Include project Makefile +ifeq "${IGNORE_LOCAL}" "TRUE" +# do not include local makefile. User is passing all local related variables already +else +include Makefile +# Include makefile containing local settings +ifeq "$(wildcard nbproject/Makefile-local-default.mk)" "nbproject/Makefile-local-default.mk" +include nbproject/Makefile-local-default.mk +endif +endif + +# Environment +MKDIR=mkdir -p +RM=rm -f +MV=mv +CP=cp + +# Macros +CND_CONF=default +ifeq ($(TYPE_IMAGE), DEBUG_RUN) +IMAGE_TYPE=debug +OUTPUT_SUFFIX=elf +DEBUGGABLE_SUFFIX=elf +FINAL_IMAGE=${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +else +IMAGE_TYPE=production +OUTPUT_SUFFIX=hex +DEBUGGABLE_SUFFIX=elf +FINAL_IMAGE=${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +endif + +ifeq ($(COMPARE_BUILD), true) +COMPARISON_BUILD= +else +COMPARISON_BUILD= +endif + +ifdef SUB_IMAGE_ADDRESS + +else +SUB_IMAGE_ADDRESS_COMMAND= +endif + +# Object Directory +OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE} + +# Distribution Directory +DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} + +# Source Files Quoted if spaced +SOURCEFILES_QUOTED_IF_SPACED=main.c onewire.c + +# Object Files Quoted if spaced +OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.o ${OBJECTDIR}/onewire.o +POSSIBLE_DEPFILES=${OBJECTDIR}/main.o.d ${OBJECTDIR}/onewire.o.d + +# Object Files +OBJECTFILES=${OBJECTDIR}/main.o ${OBJECTDIR}/onewire.o + +# Source Files +SOURCEFILES=main.c onewire.c + +# Pack Options +PACK_COMPILER_OPTIONS=-I "${DFP_DIR}/include" +PACK_COMMON_OPTIONS=-B "${DFP_DIR}/gcc/dev/attiny45" + + + +CFLAGS= +ASFLAGS= +LDLIBSOPTIONS= + +############# Tool locations ########################################## +# If you copy a project from one host to another, the path where the # +# compiler is installed may be different. # +# If you open this project with MPLAB X in the new host, this # +# makefile will be regenerated and the paths will be corrected. # +####################################################################### +# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build +FIXDEPS=fixDeps + +.build-conf: ${BUILD_SUBPROJECTS} +ifneq ($(INFORMATION_MESSAGE), ) + @echo $(INFORMATION_MESSAGE) +endif + ${MAKE} -f nbproject/Makefile-default.mk ${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} + +MP_PROCESSOR_OPTION=ATtiny45 +# ------------------------------------------------------------------------------------ +# Rules for buildStep: assemble +ifeq ($(TYPE_IMAGE), DEBUG_RUN) +else +endif + +# ------------------------------------------------------------------------------------ +# Rules for buildStep: assembleWithPreprocess +ifeq ($(TYPE_IMAGE), DEBUG_RUN) +else +endif + +# ------------------------------------------------------------------------------------ +# Rules for buildStep: compile +ifeq ($(TYPE_IMAGE), DEBUG_RUN) +${OBJECTDIR}/main.o: main.c .generated_files/flags/default/ebd6578f553cc856320c4e3fab74007688bb7df4 .generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/main.o.d + @${RM} ${OBJECTDIR}/main.o + ${MP_CC} $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -g -DDEBUG -gdwarf-2 -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -MD -MP -MF "${OBJECTDIR}/main.o.d" -MT "${OBJECTDIR}/main.o.d" -MT ${OBJECTDIR}/main.o -o ${OBJECTDIR}/main.o main.c -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL + +${OBJECTDIR}/onewire.o: onewire.c .generated_files/flags/default/f032a224192bd107f2123e08604a3b5b0f41643c .generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/onewire.o.d + @${RM} ${OBJECTDIR}/onewire.o + ${MP_CC} $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -g -DDEBUG -gdwarf-2 -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -MD -MP -MF "${OBJECTDIR}/onewire.o.d" -MT "${OBJECTDIR}/onewire.o.d" -MT ${OBJECTDIR}/onewire.o -o ${OBJECTDIR}/onewire.o onewire.c -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL + +else +${OBJECTDIR}/main.o: main.c .generated_files/flags/default/852a931b512b8c8a6143655dd7f5022a6cb025f5 .generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/main.o.d + @${RM} ${OBJECTDIR}/main.o + ${MP_CC} $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -MD -MP -MF "${OBJECTDIR}/main.o.d" -MT "${OBJECTDIR}/main.o.d" -MT ${OBJECTDIR}/main.o -o ${OBJECTDIR}/main.o main.c -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL + +${OBJECTDIR}/onewire.o: onewire.c .generated_files/flags/default/5312daf68dcab5b5e0043f8514afba88eb8ddeb0 .generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/onewire.o.d + @${RM} ${OBJECTDIR}/onewire.o + ${MP_CC} $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -MD -MP -MF "${OBJECTDIR}/onewire.o.d" -MT "${OBJECTDIR}/onewire.o.d" -MT ${OBJECTDIR}/onewire.o -o ${OBJECTDIR}/onewire.o onewire.c -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL + +endif + +# ------------------------------------------------------------------------------------ +# Rules for buildStep: compileCPP +ifeq ($(TYPE_IMAGE), DEBUG_RUN) +else +endif + +# ------------------------------------------------------------------------------------ +# Rules for buildStep: link +ifeq ($(TYPE_IMAGE), DEBUG_RUN) +${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} ${DISTDIR} + ${MP_CC} $(MP_EXTRA_LD_PRE) -mmcu=attiny45 ${PACK_COMMON_OPTIONS} -gdwarf-2 -D__$(MP_PROCESSOR_OPTION)__ -Wl,-Map="${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.map" -o ${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -DXPRJ_default=$(CND_CONF) -DF_CPU=8000000UL $(COMPARISON_BUILD) -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--defsym=__ICD2RAM=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1 -Wl,--gc-sections -Wl,--start-group -Wl,-lm -Wl,--end-group + + + + + + +else +${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} ${DISTDIR} + ${MP_CC} $(MP_EXTRA_LD_PRE) -mmcu=attiny45 ${PACK_COMMON_OPTIONS} -D__$(MP_PROCESSOR_OPTION)__ -Wl,-Map="${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.map" -o ${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -DXPRJ_default=$(CND_CONF) -DF_CPU=8000000UL $(COMPARISON_BUILD) -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION) -Wl,--gc-sections -Wl,--start-group -Wl,-lm -Wl,--end-group + ${MP_CC_DIR}/avr-objcopy -O ihex "${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}" "${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.hex" + + + + + +endif + + +# Subprojects +.build-subprojects: + + +# Subprojects +.clean-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${OBJECTDIR} + ${RM} -r ${DISTDIR} + +# Enable dependency checking +.dep.inc: .depcheck-impl + +DEPFILES=$(shell "${PATH_TO_IDE_BIN}"mplabwildcard ${POSSIBLE_DEPFILES}) +ifneq (${DEPFILES},) +include ${DEPFILES} +endif diff --git a/nbproject/Makefile-genesis.properties b/nbproject/Makefile-genesis.properties new file mode 100644 index 0000000..9f6b63c --- /dev/null +++ b/nbproject/Makefile-genesis.properties @@ -0,0 +1,14 @@ +# +#Sat Jul 08 19:15:27 MSK 2023 +default.languagetoolchain.version=7.3.0 +default.Pack.dfplocation=/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151 +default.com-microchip-mplab-nbide-toolchain-avr-AVRLanguageToolchain.md5=f7c8f2a9c7d7748a6cb97af5c32efadd +conf.ids=default +default.languagetoolchain.dir=/opt/avr8-gnu-toolchain-linux_x86_64/bin +host.id=30e8-ay6h-7g +configurations-xml=737ac09162ca74e2d83ec8c785f6d965 +default.com-microchip-mplab-mdbcore-snap-SnapToolImpl.md5=eaa336cefb7fc46db8b50b7b2b6e54ca +com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=6e02ca5e9f5042ffd365b42ab82d3a9b +user-defined-mime-resolver-xml=none +proj.dir=/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X +host.platform=linux diff --git a/nbproject/Makefile-impl.mk b/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..ac27e40 --- /dev/null +++ b/nbproject/Makefile-impl.mk @@ -0,0 +1,69 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a pre- and a post- target defined where you can add customization code. +# +# This makefile implements macros and targets common to all configurations. +# +# NOCDDL + + +# Building and Cleaning subprojects are done by default, but can be controlled with the SUB +# macro. If SUB=no, subprojects will not be built or cleaned. The following macro +# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf +# and .clean-reqprojects-conf unless SUB has the value 'no' +SUB_no=NO +SUBPROJECTS=${SUB_${SUB}} +BUILD_SUBPROJECTS_=.build-subprojects +BUILD_SUBPROJECTS_NO= +BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} +CLEAN_SUBPROJECTS_=.clean-subprojects +CLEAN_SUBPROJECTS_NO= +CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} + + +# Project Name +PROJECTNAME=attiny45v_thermometer.X + +# Active Configuration +DEFAULTCONF=default +CONF=${DEFAULTCONF} + +# All Configurations +ALLCONFS=default + + +# build +.build-impl: .build-pre + ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf + + +# clean +.clean-impl: .clean-pre + ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf + +# clobber +.clobber-impl: .clobber-pre .depcheck-impl + ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean + + + +# all +.all-impl: .all-pre .depcheck-impl + ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build + + + +# dependency checking support +.depcheck-impl: +# @echo "# This code depends on make tool being used" >.dep.inc +# @if [ -n "${MAKE_VERSION}" ]; then \ +# echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ +# echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ +# echo "include \$${DEPFILES}" >>.dep.inc; \ +# echo "endif" >>.dep.inc; \ +# else \ +# echo ".KEEP_STATE:" >>.dep.inc; \ +# echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ +# fi diff --git a/nbproject/Makefile-local-default.mk b/nbproject/Makefile-local-default.mk new file mode 100644 index 0000000..952e823 --- /dev/null +++ b/nbproject/Makefile-local-default.mk @@ -0,0 +1,37 @@ +# +# Generated Makefile - do not edit! +# +# +# This file contains information about the location of compilers and other tools. +# If you commmit this file into your revision control server, you will be able to +# to checkout the project and build it from the command line with make. However, +# if more than one person works on the same project, then this file might show +# conflicts since different users are bound to have compilers in different places. +# In that case you might choose to not commit this file and let MPLAB X recreate this file +# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at +# least once so the file gets created and the project can be built. Finally, you can also +# avoid using this file at all if you are only building from the command line with make. +# You can invoke make with the values of the macros: +# $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ... +# +PATH_TO_IDE_BIN=/opt/microchip/mplabx/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/ +# Adding MPLAB X bin directory to path. +PATH:=/opt/microchip/mplabx/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH) +# Path to java used to run MPLAB X when this makefile was created +MP_JAVA_PATH="/opt/microchip/mplabx/v6.00/sys/java/zulu8.54.0.21-ca-fx-jre8.0.292-linux_x64/bin/" +OS_CURRENT="$(shell uname -s)" +MP_CC="/opt/avr8-gnu-toolchain-linux_x86_64/bin/avr-gcc" +MP_CPPC="/opt/avr8-gnu-toolchain-linux_x86_64/bin/avr-g++" +# MP_BC is not defined +MP_AS="/opt/avr8-gnu-toolchain-linux_x86_64/bin/avr-as" +MP_LD="/opt/avr8-gnu-toolchain-linux_x86_64/bin/avr-ld" +MP_AR="/opt/avr8-gnu-toolchain-linux_x86_64/bin/avr-ar" +DEP_GEN=${MP_JAVA_PATH}java -jar "/opt/microchip/mplabx/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar" +MP_CC_DIR="/opt/avr8-gnu-toolchain-linux_x86_64/bin" +MP_CPPC_DIR="/opt/avr8-gnu-toolchain-linux_x86_64/bin" +# MP_BC_DIR is not defined +MP_AS_DIR="/opt/avr8-gnu-toolchain-linux_x86_64/bin" +MP_LD_DIR="/opt/avr8-gnu-toolchain-linux_x86_64/bin" +MP_AR_DIR="/opt/avr8-gnu-toolchain-linux_x86_64/bin" +# MP_BC_DIR is not defined +DFP_DIR=/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151 diff --git a/nbproject/Makefile-variables.mk b/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..c5ef6ed --- /dev/null +++ b/nbproject/Makefile-variables.mk @@ -0,0 +1,10 @@ +# +# Generated - do not edit! +# +# NOCDDL +# +CND_BASEDIR=`pwd` +# default configuration +CND_ARTIFACT_DIR_default=dist/default/production +CND_ARTIFACT_NAME_default=attiny45v_thermometer.X.production.hex +CND_ARTIFACT_PATH_default=dist/default/production/attiny45v_thermometer.X.production.hex diff --git a/nbproject/configurations.xml b/nbproject/configurations.xml new file mode 100644 index 0000000..c50f96f --- /dev/null +++ b/nbproject/configurations.xml @@ -0,0 +1,265 @@ + + + + + onewire.h + + + + + main.c + onewire.c + + + Makefile + + + Makefile + + + + localhost + ATtiny45 + + + snap + AVR + 7.3.0 + 2 + + + + + + + + + + + + + + + false + false + + + + + + + false + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/private/configurations.xml b/nbproject/private/configurations.xml new file mode 100644 index 0000000..e54c8b2 --- /dev/null +++ b/nbproject/private/configurations.xml @@ -0,0 +1,25 @@ + + + Makefile + 0 + + + :=MPLABComm-USB-Microchip:=<vid>03EB:=<pid>2180:=<rev>0100:=<man>Microchip Technology Incorporated:=<prod>MPLAB Snap ICD CMSIS-DAP:=<sn>BUR205073320:=<drv>x:=<xpt>h:=end + /opt/avr8-gnu-toolchain-linux_x86_64/bin + + place holder 1 + place holder 2 + + + + + true + 0 + 0 + 0 + + + + + + diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml new file mode 100644 index 0000000..3b84be6 --- /dev/null +++ b/nbproject/private/private.xml @@ -0,0 +1,9 @@ + + + + + + file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/main.c + + + diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..0c3f3bd --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,27 @@ + + + com.microchip.mplab.nbide.embedded.makeproject + + + attiny45v_thermometer + 41980b78-8820-4e00-893b-c2b507371f13 + 0 + c + + h + + UTF-8 + + + + + default + 2 + + + + false + + + + diff --git a/onewire.c b/onewire.c new file mode 100644 index 0000000..7908d06 --- /dev/null +++ b/onewire.c @@ -0,0 +1,75 @@ +#include "onewire.h" + +uint8_t OneWire_Presence(void) { + uint8_t is_detected = 0; + + cli(); + ow_pull(); + _delay_us(480); + ow_release(); + _delay_us(70); + if (bit_is_clear(OW_PIN, OW_LINE)) is_detected = 1; + _delay_us(410); + sei(); + return is_detected; +} + +void OneWire_WriteByte(uint8_t byte) { + uint8_t i = 8; + + while (i--) { + cli(); + if (byte & 0x01) { + ow_pull(); + _delay_us(6); + ow_release(); + _delay_us(64); + } else { + ow_pull(); + _delay_us(60); + ow_release(); + _delay_us(10); + } + sei(); + byte >>= 1; + } +} + +uint8_t OneWire_ReadByte() { + uint8_t byte = 0; + uint8_t i = 8; + + while (i--) { + cli(); + byte >>= 1; + ow_pull(); + _delay_us(6); + ow_release(); + _delay_us(9); + if (bit_is_set(OW_PIN, OW_LINE)) byte |= (1<<7); + _delay_us(55); + sei(); + } + + return byte; +} + +uint8_t OneWire_SkipROM() { + if (!OneWire_Presence()) return 0; + OneWire_WriteByte(ONE_WIRE_SKIPROM); + return 1; +} + +uint8_t OneWire_ReadROM(uint8_t *buffer) { + if (!OneWire_Presence()) return 0; + + uint8_t p = 0; + OneWire_WriteByte(ONE_WIRE_READROM); + + while (p < 8) { + *(buffer++) = OneWire_ReadByte(); + p++; + } + + return 1; +} \ No newline at end of file diff --git a/onewire.h b/onewire.h new file mode 100644 index 0000000..cd04222 --- /dev/null +++ b/onewire.h @@ -0,0 +1,29 @@ +#include +#include +#include +#include + +#define OW_LINE PB0 +#define OW_PIN PINB +#define OW_PORT PORTB +#define OW_DDR DDRB + +#define ow_pull() (OW_DDR = _BV(OW_LINE)) +#define ow_release() (OW_DDR = !_BV(OW_LINE)) + +#define ONE_WIRE_READROM 0x33 +#define ONE_WIRE_SKIPROM 0xcc +#define ONE_WIRE_SEARCHROM 0xf0 +#define ONE_WIRE_MATCHROM 0x55 + +#ifndef ONEWIRE_H +#define ONEWIRE_H + +uint8_t OneWire_Presence(void); +void OneWire_WriteByte(uint8_t byte); +uint8_t OneWire_ReadByte(); +uint8_t OneWire_SkipROM(); +uint8_t OneWire_ReadROM(uint8_t *buffer); + +#endif /* ONEWIRE_H */ +