From dcaf496f29de1519ba09ac2e36694dcc123cec86 Mon Sep 17 00:00:00 2001 From: Wessel Tip Date: Thu, 23 Nov 2023 23:04:00 +0100 Subject: [PATCH] feat: Populate repo --- .editorconfig | 61 + .gitignore | 18 + .vscode/c_cpp_properties.json | 60 + .vscode/settings.json | 9 + .vscode/tasks.json | 27 + Build-Samples.cmd | 4 + Build.cmd | 4 + Makefile | 113 + build/default/debug/src/initialisation.i | 2863 ++++++++++++++++ build/default/debug/src/initialisation.p1 | 560 ++++ build/default/debug/src/initialisation.p1.d | 4 + build/default/debug/src/main.i | 2907 ++++++++++++++++ build/default/debug/src/main.p1 | 652 ++++ build/default/debug/src/main.p1.d | 6 + build/default/debug/src/potentiometer.i | 2715 +++++++++++++++ build/default/debug/src/potentiometer.p1 | 339 ++ build/default/debug/src/potentiometer.p1.d | 3 + build/default/debug/src/rotary_encoder.i | 2732 +++++++++++++++ build/default/debug/src/rotary_encoder.p1 | 335 ++ build/default/debug/src/rotary_encoder.p1.d | 4 + build/default/production/src/initialisation.d | 2 + build/default/production/src/initialisation.i | 2894 ++++++++++++++++ build/default/production/src/main.d | 3 + build/default/production/src/main.i | 2925 ++++++++++++++++ build/default/production/src/potentiometer.i | 2715 +++++++++++++++ build/default/production/src/potentiometer.p1 | 339 ++ .../default/production/src/potentiometer.p1.d | 3 + build/default/production/src/rotary_encoder.i | 2732 +++++++++++++++ .../default/production/src/rotary_encoder.p1 | 335 ++ .../production/src/rotary_encoder.p1.d | 4 + clean.cmd | 2 + debug/default/queuelogs/debugtool | 1038 ++++++ .../debug/W4_-_Pot___Rotary_-_kopie.debug.cmf | 603 ++++ .../debug/W4_-_Pot___Rotary_-_kopie.debug.elf | Bin 0 -> 19060 bytes .../debug/W4_-_Pot___Rotary_-_kopie.debug.hxl | 146 + .../debug/W4_-_Pot___Rotary_-_kopie.debug.lst | 2806 ++++++++++++++++ .../debug/W4_-_Pot___Rotary_-_kopie.debug.map | 447 +++ .../debug/W4_-_Pot___Rotary_-_kopie.debug.mum | 8 + .../debug/W4_-_Pot___Rotary_-_kopie.debug.o | Bin 0 -> 20820 bytes .../debug/W4_-_Pot___Rotary_-_kopie.debug.rlf | Bin 0 -> 193996 bytes .../debug/W4_-_Pot___Rotary_-_kopie.debug.sdb | 528 +++ .../debug/W4_-_Pot___Rotary_-_kopie.debug.sym | 487 +++ dist/default/debug/__eeprom.d | 2 + dist/default/debug/__eeprom.i | 2841 ++++++++++++++++ dist/default/debug/__eeprom.p1 | 804 +++++ dist/default/debug/memoryfile.xml | 17 + .../W4_-_Pot___Rotary_-_kopie.production.cmf | 609 ++++ .../W4_-_Pot___Rotary_-_kopie.production.elf | Bin 0 -> 18351 bytes .../W4_-_Pot___Rotary_-_kopie.production.hex | 127 + .../W4_-_Pot___Rotary_-_kopie.production.hxl | 152 + .../W4_-_Pot___Rotary_-_kopie.production.lst | 2930 +++++++++++++++++ .../W4_-_Pot___Rotary_-_kopie.production.map | 444 +++ .../W4_-_Pot___Rotary_-_kopie.production.mum | 8 + .../W4_-_Pot___Rotary_-_kopie.production.o | Bin 0 -> 21987 bytes .../W4_-_Pot___Rotary_-_kopie.production.rlf | Bin 0 -> 202847 bytes .../W4_-_Pot___Rotary_-_kopie.production.sdb | 556 ++++ .../W4_-_Pot___Rotary_-_kopie.production.sym | 491 +++ dist/default/production/__eeprom.d | 2 + dist/default/production/__eeprom.i | 2841 ++++++++++++++++ dist/default/production/__eeprom.p1 | 804 +++++ dist/default/production/memoryfile.xml | 17 + include/config.h | 38 + include/initialisation.h | 118 + include/potentiometer.h | 7 + include/rotary_encoder.h | 9 + nbproject/Makefile-default.mk | 204 ++ nbproject/Makefile-genesis.properties | 13 + nbproject/Makefile-impl.mk | 69 + nbproject/Makefile-local-default.mk | 37 + nbproject/Makefile-variables.mk | 10 + nbproject/configurations.xml | 308 ++ nbproject/private/configurations.xml | 25 + nbproject/private/private.xml | 10 + nbproject/project.xml | 25 + src/initialisation.c | 134 + src/main.c | 98 + src/potentiometer.c | 24 + src/rotary_encoder.c | 32 + tmp/main.pot.c | 119 + tmp/main.rotary.c | 124 + 80 files changed, 45482 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/settings.json create mode 100644 .vscode/tasks.json create mode 100644 Build-Samples.cmd create mode 100644 Build.cmd create mode 100644 Makefile create mode 100644 build/default/debug/src/initialisation.i create mode 100644 build/default/debug/src/initialisation.p1 create mode 100644 build/default/debug/src/initialisation.p1.d create mode 100644 build/default/debug/src/main.i create mode 100644 build/default/debug/src/main.p1 create mode 100644 build/default/debug/src/main.p1.d create mode 100644 build/default/debug/src/potentiometer.i create mode 100644 build/default/debug/src/potentiometer.p1 create mode 100644 build/default/debug/src/potentiometer.p1.d create mode 100644 build/default/debug/src/rotary_encoder.i create mode 100644 build/default/debug/src/rotary_encoder.p1 create mode 100644 build/default/debug/src/rotary_encoder.p1.d create mode 100644 build/default/production/src/initialisation.d create mode 100644 build/default/production/src/initialisation.i create mode 100644 build/default/production/src/main.d create mode 100644 build/default/production/src/main.i create mode 100644 build/default/production/src/potentiometer.i create mode 100644 build/default/production/src/potentiometer.p1 create mode 100644 build/default/production/src/potentiometer.p1.d create mode 100644 build/default/production/src/rotary_encoder.i create mode 100644 build/default/production/src/rotary_encoder.p1 create mode 100644 build/default/production/src/rotary_encoder.p1.d create mode 100644 clean.cmd create mode 100644 debug/default/queuelogs/debugtool create mode 100644 dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.cmf create mode 100644 dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.elf create mode 100644 dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.hxl create mode 100644 dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.lst create mode 100644 dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.map create mode 100644 dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.mum create mode 100644 dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.o create mode 100644 dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.rlf create mode 100644 dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.sdb create mode 100644 dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.sym create mode 100644 dist/default/debug/__eeprom.d create mode 100644 dist/default/debug/__eeprom.i create mode 100644 dist/default/debug/__eeprom.p1 create mode 100644 dist/default/debug/memoryfile.xml create mode 100644 dist/default/production/W4_-_Pot___Rotary_-_kopie.production.cmf create mode 100644 dist/default/production/W4_-_Pot___Rotary_-_kopie.production.elf create mode 100644 dist/default/production/W4_-_Pot___Rotary_-_kopie.production.hex create mode 100644 dist/default/production/W4_-_Pot___Rotary_-_kopie.production.hxl create mode 100644 dist/default/production/W4_-_Pot___Rotary_-_kopie.production.lst create mode 100644 dist/default/production/W4_-_Pot___Rotary_-_kopie.production.map create mode 100644 dist/default/production/W4_-_Pot___Rotary_-_kopie.production.mum create mode 100644 dist/default/production/W4_-_Pot___Rotary_-_kopie.production.o create mode 100644 dist/default/production/W4_-_Pot___Rotary_-_kopie.production.rlf create mode 100644 dist/default/production/W4_-_Pot___Rotary_-_kopie.production.sdb create mode 100644 dist/default/production/W4_-_Pot___Rotary_-_kopie.production.sym create mode 100644 dist/default/production/__eeprom.d create mode 100644 dist/default/production/__eeprom.i create mode 100644 dist/default/production/__eeprom.p1 create mode 100644 dist/default/production/memoryfile.xml create mode 100644 include/config.h create mode 100644 include/initialisation.h create mode 100644 include/potentiometer.h create mode 100644 include/rotary_encoder.h 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 src/initialisation.c create mode 100644 src/main.c create mode 100644 src/potentiometer.c create mode 100644 src/rotary_encoder.c create mode 100644 tmp/main.pot.c create mode 100644 tmp/main.rotary.c diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..4cd5d55 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,61 @@ +[*] +cpp_indent_braces=false +cpp_indent_multi_line_relative_to=innermost_parenthesis +cpp_indent_within_parentheses=indent +cpp_indent_preserve_within_parentheses=false +cpp_indent_case_labels=false +cpp_indent_case_contents=true +cpp_indent_case_contents_when_block=false +cpp_indent_lambda_braces_when_parameter=true +cpp_indent_goto_labels=one_left +cpp_indent_preprocessor=leftmost_column +cpp_indent_access_specifiers=false +cpp_indent_namespace_contents=true +cpp_indent_preserve_comments=false +cpp_new_line_before_open_brace_namespace=ignore +cpp_new_line_before_open_brace_type=ignore +cpp_new_line_before_open_brace_function=ignore +cpp_new_line_before_open_brace_block=ignore +cpp_new_line_before_open_brace_lambda=ignore +cpp_new_line_scope_braces_on_separate_lines=false +cpp_new_line_close_brace_same_line_empty_type=false +cpp_new_line_close_brace_same_line_empty_function=false +cpp_new_line_before_catch=true +cpp_new_line_before_else=true +cpp_new_line_before_while_in_do_while=false +cpp_space_before_function_open_parenthesis=remove +cpp_space_within_parameter_list_parentheses=false +cpp_space_between_empty_parameter_list_parentheses=false +cpp_space_after_keywords_in_control_flow_statements=true +cpp_space_within_control_flow_statement_parentheses=false +cpp_space_before_lambda_open_parenthesis=false +cpp_space_within_cast_parentheses=false +cpp_space_after_cast_close_parenthesis=false +cpp_space_within_expression_parentheses=false +cpp_space_before_block_open_brace=true +cpp_space_between_empty_braces=false +cpp_space_before_initializer_list_open_brace=false +cpp_space_within_initializer_list_braces=true +cpp_space_preserve_in_initializer_list=true +cpp_space_before_open_square_bracket=false +cpp_space_within_square_brackets=false +cpp_space_before_empty_square_brackets=false +cpp_space_between_empty_square_brackets=false +cpp_space_group_square_brackets=true +cpp_space_within_lambda_brackets=false +cpp_space_between_empty_lambda_brackets=false +cpp_space_before_comma=false +cpp_space_after_comma=true +cpp_space_remove_around_member_operators=true +cpp_space_before_inheritance_colon=true +cpp_space_before_constructor_colon=true +cpp_space_remove_before_semicolon=true +cpp_space_after_semicolon=false +cpp_space_remove_around_unary_operator=true +cpp_space_around_binary_operator=insert +cpp_space_around_assignment_operator=insert +cpp_space_pointer_reference_alignment=left +cpp_space_around_ternary_operator=insert +cpp_wrap_preserve_blocks=one_liners +tab_width = 2 +trim_trailing_whitespace = true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..11600af --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +output/ +.hex +.as +.cmf +.cof +.d +.hex +.hxl +.p1 +.pre +.sdb +.sym +.lst +.obj +.rlf +build/ +dist/ +debug/ diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..6108a35 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,60 @@ +{ + "configurations": [ + { + "name": "Mac", + "includePath": [ + "${workspaceFolder}" + ], + "defines": [], + "intelliSenseMode": "clang-x64", + "browse": { + "path": [ + "${workspaceFolder}" + ], + "limitSymbolsToIncludedHeaders": true, + "databaseFilename": "" + }, + "macFrameworkPath": [], + "compilerPath": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.37.32822\\bin\\Hostx64\\x64\\cl.exe", + "cStandard": "c17", + "cppStandard": "c++17" + }, + { + "name": "Linux", + "includePath": [], + "defines": [], + "intelliSenseMode": "clang-x64", + "browse": { + "path": [], + "limitSymbolsToIncludedHeaders": true, + "databaseFilename": "" + }, + "compilerPath": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.37.32822\\bin\\Hostx64\\x64\\cl.exe", + "cStandard": "c17", + "cppStandard": "c++17" + }, + { + "name": "Windows", + "includePath": [ + "${workspaceFolder}", + "C:/Program Files (x86)/Microchip/xc8/v1.45/include/*", + "C:/Program Files (x86)/Microchip/xc8/v1.45/include/legacy/*" + ], + "defines": [], + "intelliSenseMode": "clang-x64", + "browse": { + "path": [ + "${workspaceFolder}", + "C:/Program Files (x86)/Microchip/xc8/v1.45/include/*", + "C:/Program Files (x86)/Microchip/xc8/v1.45/include/legacy/*" + ], + "databaseFilename": "", + "limitSymbolsToIncludedHeaders": true + }, + "cStandard": "c89", + "cppStandard": "c++17", + "compilerPath": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.37.32822\\bin\\Hostx64\\x64\\cl.exe" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..2f73677 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,9 @@ +{ + "files.associations": { + "xc.h": "c", + "htc.h": "c", + "initialisation.h": "c", + "config.h": "c", + "rotary_encoder.h": "c" + } +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..986a07b --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,27 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Build", + "type": "shell", + "windows": { + "command": ".\\Build.cmd", + "args": [ + "16f84" // Update this to Chip you're targeting. + ] + } + }, + { + "label": "Build Samples", + "type": "shell", + "windows": { + "command": ".\\Build-Samples", + "args": [ + "16f84" // Update this to Chip you're targeting. + ] + } + } + ] +} \ No newline at end of file diff --git a/Build-Samples.cmd b/Build-Samples.cmd new file mode 100644 index 0000000..f5c6e74 --- /dev/null +++ b/Build-Samples.cmd @@ -0,0 +1,4 @@ + +mkdir output + +%XC_DIR%\xc8.exe --chip=%1 --outdir=".\output" ".\samples\LedBlink.c" \ No newline at end of file diff --git a/Build.cmd b/Build.cmd new file mode 100644 index 0000000..eaea6c3 --- /dev/null +++ b/Build.cmd @@ -0,0 +1,4 @@ + +mkdir output + +%XC_DIR%\xc8.exe --chip=%1 --outdir=".\output" ".\main.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/src/initialisation.i b/build/default/debug/src/initialisation.i new file mode 100644 index 0000000..02e6a89 --- /dev/null +++ b/build/default/debug/src/initialisation.i @@ -0,0 +1,2863 @@ +# 1 "src/initialisation.c" +# 1 "" 1 +# 1 "" 3 +# 288 "" 3 +# 1 "" 1 +# 1 "" 2 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\language_support.h" 1 3 +# 2 "" 2 +# 1 "src/initialisation.c" 2 + +# 1 "src/../include/config.h" 1 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 18 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 3 +extern const char __xc8_OPTIM_SPEED; + +extern double __fpnormalize(double); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\musl_xc8.h" 1 3 +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + + + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\features.h" 1 3 +# 11 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 +# 21 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 24 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int wchar_t; +# 128 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned size_t; +# 174 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __int24 int24_t; +# 210 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __uint24 uint24_t; +# 22 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + +int atoi (const char *); +long atol (const char *); + + + +double atof (const char *); + + +float strtof (const char *restrict, char **restrict); +double strtod (const char *restrict, char **restrict); +long double strtold (const char *restrict, char **restrict); + + + +long strtol (const char *restrict, char **restrict, int); +unsigned long strtoul (const char *restrict, char **restrict, int); + + + + + +unsigned long __strtoxl(const char * s, char ** endptr, int base, char is_signed); +# 55 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +int rand (void); +void srand (unsigned); + +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); + + void abort (void); +int atexit (void (*) (void)); + void exit (int); + void _Exit (int); + +void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); + + + + + + + +__attribute__((nonreentrant)) void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); + +int abs (int); +long labs (long); + + + + +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; + + + + +div_t div (int, int); +ldiv_t ldiv (long, long); + + + + +typedef struct { unsigned int quot, rem; } udiv_t; +typedef struct { unsigned long quot, rem; } uldiv_t; +udiv_t udiv (unsigned int, unsigned int); +uldiv_t uldiv (unsigned long, unsigned long); +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 2 3 + + + + + + + +#pragma intrinsic(__builtin_software_breakpoint) +extern void __builtin_software_breakpoint(void); +# 24 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 1 3 +# 26 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 133 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned short uintptr_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef short intptr_t; +# 164 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef signed char int8_t; + + + + +typedef short int16_t; +# 179 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int32_t; +# 192 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef int32_t intmax_t; + + + + + + + +typedef unsigned char uint8_t; + + + + +typedef unsigned short uint16_t; +# 215 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned long uint32_t; +# 233 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef uint32_t uintmax_t; +# 27 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 + +typedef int8_t int_fast8_t; + + + + +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; + +typedef int24_t int_least24_t; +typedef int24_t int_fast24_t; + +typedef int32_t int_least32_t; + + + + +typedef uint8_t uint_fast8_t; + + + + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; + +typedef uint24_t uint_least24_t; +typedef uint24_t uint_fast24_t; + +typedef uint32_t uint_least32_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/stdint.h" 1 3 +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +# 149 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 2 3 + + +#pragma intrinsic(__nop) +extern void __nop(void); + + +#pragma intrinsic(_delay) +extern __attribute__((nonreentrant)) void _delay(uint32_t); +#pragma intrinsic(_delaywdt) +extern __attribute__((nonreentrant)) void _delaywdt(uint32_t); +# 25 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 1 3 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 1 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 2 3 +# 6 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 + + + + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 1 3 +# 724 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 1 3 +# 44 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\__at.h" 1 3 +# 45 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 2 3 + + + + + + + +extern volatile unsigned char INDF __attribute__((address(0x000))); + +__asm("INDF equ 00h"); + + + + +extern volatile unsigned char TMR0 __attribute__((address(0x001))); + +__asm("TMR0 equ 01h"); + + + + +extern volatile unsigned char PCL __attribute__((address(0x002))); + +__asm("PCL equ 02h"); + + + + +extern volatile unsigned char STATUS __attribute__((address(0x003))); + +__asm("STATUS equ 03h"); + + +typedef union { + struct { + unsigned C :1; + unsigned DC :1; + unsigned Z :1; + unsigned nPD :1; + unsigned nTO :1; + unsigned RP :2; + unsigned IRP :1; + }; + struct { + unsigned :5; + unsigned RP0 :1; + unsigned RP1 :1; + }; + struct { + unsigned CARRY :1; + unsigned :1; + unsigned ZERO :1; + }; +} STATUSbits_t; +extern volatile STATUSbits_t STATUSbits __attribute__((address(0x003))); +# 159 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char FSR __attribute__((address(0x004))); + +__asm("FSR equ 04h"); + + + + +extern volatile unsigned char PORTA __attribute__((address(0x005))); + +__asm("PORTA equ 05h"); + + +typedef union { + struct { + unsigned RA0 :1; + unsigned RA1 :1; + unsigned RA2 :1; + unsigned RA3 :1; + unsigned RA4 :1; + unsigned RA5 :1; + unsigned RA6 :1; + unsigned RA7 :1; + }; +} PORTAbits_t; +extern volatile PORTAbits_t PORTAbits __attribute__((address(0x005))); +# 228 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTB __attribute__((address(0x006))); + +__asm("PORTB equ 06h"); + + +typedef union { + struct { + unsigned RB0 :1; + unsigned RB1 :1; + unsigned RB2 :1; + unsigned RB3 :1; + unsigned RB4 :1; + unsigned RB5 :1; + unsigned RB6 :1; + unsigned RB7 :1; + }; +} PORTBbits_t; +extern volatile PORTBbits_t PORTBbits __attribute__((address(0x006))); +# 290 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTC __attribute__((address(0x007))); + +__asm("PORTC equ 07h"); + + +typedef union { + struct { + unsigned RC0 :1; + unsigned RC1 :1; + unsigned RC2 :1; + unsigned RC3 :1; + unsigned RC4 :1; + unsigned RC5 :1; + unsigned RC6 :1; + unsigned RC7 :1; + }; +} PORTCbits_t; +extern volatile PORTCbits_t PORTCbits __attribute__((address(0x007))); +# 352 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTD __attribute__((address(0x008))); + +__asm("PORTD equ 08h"); + + +typedef union { + struct { + unsigned RD0 :1; + unsigned RD1 :1; + unsigned RD2 :1; + unsigned RD3 :1; + unsigned RD4 :1; + unsigned RD5 :1; + unsigned RD6 :1; + unsigned RD7 :1; + }; +} PORTDbits_t; +extern volatile PORTDbits_t PORTDbits __attribute__((address(0x008))); +# 414 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTE __attribute__((address(0x009))); + +__asm("PORTE equ 09h"); + + +typedef union { + struct { + unsigned RE0 :1; + unsigned RE1 :1; + unsigned RE2 :1; + unsigned RE3 :1; + }; +} PORTEbits_t; +extern volatile PORTEbits_t PORTEbits __attribute__((address(0x009))); +# 452 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCLATH __attribute__((address(0x00A))); + +__asm("PCLATH equ 0Ah"); + + + + +extern volatile unsigned char INTCON __attribute__((address(0x00B))); + +__asm("INTCON equ 0Bh"); + + +typedef union { + struct { + unsigned RBIF :1; + unsigned INTF :1; + unsigned T0IF :1; + unsigned RBIE :1; + unsigned INTE :1; + unsigned T0IE :1; + unsigned PEIE :1; + unsigned GIE :1; + }; + struct { + unsigned :2; + unsigned TMR0IF :1; + unsigned :2; + unsigned TMR0IE :1; + }; +} INTCONbits_t; +extern volatile INTCONbits_t INTCONbits __attribute__((address(0x00B))); +# 537 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR1 __attribute__((address(0x00C))); + +__asm("PIR1 equ 0Ch"); + + +typedef union { + struct { + unsigned TMR1IF :1; + unsigned TMR2IF :1; + unsigned CCP1IF :1; + unsigned SSPIF :1; + unsigned TXIF :1; + unsigned RCIF :1; + unsigned ADIF :1; + }; +} PIR1bits_t; +extern volatile PIR1bits_t PIR1bits __attribute__((address(0x00C))); +# 593 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR2 __attribute__((address(0x00D))); + +__asm("PIR2 equ 0Dh"); + + +typedef union { + struct { + unsigned CCP2IF :1; + unsigned :1; + unsigned ULPWUIF :1; + unsigned BCLIF :1; + unsigned EEIF :1; + unsigned C1IF :1; + unsigned C2IF :1; + unsigned OSFIF :1; + }; +} PIR2bits_t; +extern volatile PIR2bits_t PIR2bits __attribute__((address(0x00D))); +# 650 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short TMR1 __attribute__((address(0x00E))); + +__asm("TMR1 equ 0Eh"); + + + + +extern volatile unsigned char TMR1L __attribute__((address(0x00E))); + +__asm("TMR1L equ 0Eh"); + + + + +extern volatile unsigned char TMR1H __attribute__((address(0x00F))); + +__asm("TMR1H equ 0Fh"); + + + + +extern volatile unsigned char T1CON __attribute__((address(0x010))); + +__asm("T1CON equ 010h"); + + +typedef union { + struct { + unsigned TMR1ON :1; + unsigned TMR1CS :1; + unsigned nT1SYNC :1; + unsigned T1OSCEN :1; + unsigned T1CKPS :2; + unsigned TMR1GE :1; + unsigned T1GINV :1; + }; + struct { + unsigned :2; + unsigned T1INSYNC :1; + unsigned :1; + unsigned T1CKPS0 :1; + unsigned T1CKPS1 :1; + unsigned :1; + unsigned T1GIV :1; + }; + struct { + unsigned :2; + unsigned T1SYNC :1; + }; +} T1CONbits_t; +extern volatile T1CONbits_t T1CONbits __attribute__((address(0x010))); +# 765 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TMR2 __attribute__((address(0x011))); + +__asm("TMR2 equ 011h"); + + + + +extern volatile unsigned char T2CON __attribute__((address(0x012))); + +__asm("T2CON equ 012h"); + + +typedef union { + struct { + unsigned T2CKPS :2; + unsigned TMR2ON :1; + unsigned TOUTPS :4; + }; + struct { + unsigned T2CKPS0 :1; + unsigned T2CKPS1 :1; + unsigned :1; + unsigned TOUTPS0 :1; + unsigned TOUTPS1 :1; + unsigned TOUTPS2 :1; + unsigned TOUTPS3 :1; + }; +} T2CONbits_t; +extern volatile T2CONbits_t T2CONbits __attribute__((address(0x012))); +# 843 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPBUF __attribute__((address(0x013))); + +__asm("SSPBUF equ 013h"); + + + + +extern volatile unsigned char SSPCON __attribute__((address(0x014))); + +__asm("SSPCON equ 014h"); + + +typedef union { + struct { + unsigned SSPM :4; + unsigned CKP :1; + unsigned SSPEN :1; + unsigned SSPOV :1; + unsigned WCOL :1; + }; + struct { + unsigned SSPM0 :1; + unsigned SSPM1 :1; + unsigned SSPM2 :1; + unsigned SSPM3 :1; + }; +} SSPCONbits_t; +extern volatile SSPCONbits_t SSPCONbits __attribute__((address(0x014))); +# 920 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short CCPR1 __attribute__((address(0x015))); + +__asm("CCPR1 equ 015h"); + + + + +extern volatile unsigned char CCPR1L __attribute__((address(0x015))); + +__asm("CCPR1L equ 015h"); + + + + +extern volatile unsigned char CCPR1H __attribute__((address(0x016))); + +__asm("CCPR1H equ 016h"); + + + + +extern volatile unsigned char CCP1CON __attribute__((address(0x017))); + +__asm("CCP1CON equ 017h"); + + +typedef union { + struct { + unsigned CCP1M :4; + unsigned DC1B :2; + unsigned P1M :2; + }; + struct { + unsigned CCP1M0 :1; + unsigned CCP1M1 :1; + unsigned CCP1M2 :1; + unsigned CCP1M3 :1; + unsigned DC1B0 :1; + unsigned DC1B1 :1; + unsigned P1M0 :1; + unsigned P1M1 :1; + }; + struct { + unsigned :4; + unsigned CCP1Y :1; + unsigned CCP1X :1; + }; +} CCP1CONbits_t; +extern volatile CCP1CONbits_t CCP1CONbits __attribute__((address(0x017))); +# 1038 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char RCSTA __attribute__((address(0x018))); + +__asm("RCSTA equ 018h"); + + +typedef union { + struct { + unsigned RX9D :1; + unsigned OERR :1; + unsigned FERR :1; + unsigned ADDEN :1; + unsigned CREN :1; + unsigned SREN :1; + unsigned RX9 :1; + unsigned SPEN :1; + }; + struct { + unsigned RCD8 :1; + unsigned :5; + unsigned RC9 :1; + }; + struct { + unsigned :6; + unsigned nRC8 :1; + }; + struct { + unsigned :6; + unsigned RC8_9 :1; + }; +} RCSTAbits_t; +extern volatile RCSTAbits_t RCSTAbits __attribute__((address(0x018))); +# 1133 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXREG __attribute__((address(0x019))); + +__asm("TXREG equ 019h"); + + + + +extern volatile unsigned char RCREG __attribute__((address(0x01A))); + +__asm("RCREG equ 01Ah"); + + + + +extern volatile unsigned short CCPR2 __attribute__((address(0x01B))); + +__asm("CCPR2 equ 01Bh"); + + + + +extern volatile unsigned char CCPR2L __attribute__((address(0x01B))); + +__asm("CCPR2L equ 01Bh"); + + + + +extern volatile unsigned char CCPR2H __attribute__((address(0x01C))); + +__asm("CCPR2H equ 01Ch"); + + + + +extern volatile unsigned char CCP2CON __attribute__((address(0x01D))); + +__asm("CCP2CON equ 01Dh"); + + +typedef union { + struct { + unsigned CCP2M :4; + unsigned DC2B0 :1; + unsigned DC2B1 :1; + }; + struct { + unsigned CCP2M0 :1; + unsigned CCP2M1 :1; + unsigned CCP2M2 :1; + unsigned CCP2M3 :1; + unsigned CCP2Y :1; + unsigned CCP2X :1; + }; +} CCP2CONbits_t; +extern volatile CCP2CONbits_t CCP2CONbits __attribute__((address(0x01D))); +# 1238 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESH __attribute__((address(0x01E))); + +__asm("ADRESH equ 01Eh"); + + + + +extern volatile unsigned char ADCON0 __attribute__((address(0x01F))); + +__asm("ADCON0 equ 01Fh"); + + +typedef union { + struct { + unsigned ADON :1; + unsigned GO_nDONE :1; + unsigned CHS :4; + unsigned ADCS :2; + }; + struct { + unsigned :1; + unsigned GO :1; + unsigned CHS0 :1; + unsigned CHS1 :1; + unsigned CHS2 :1; + unsigned CHS3 :1; + unsigned ADCS0 :1; + unsigned ADCS1 :1; + }; + struct { + unsigned :1; + unsigned nDONE :1; + }; + struct { + unsigned :1; + unsigned GO_DONE :1; + }; +} ADCON0bits_t; +extern volatile ADCON0bits_t ADCON0bits __attribute__((address(0x01F))); +# 1346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OPTION_REG __attribute__((address(0x081))); + +__asm("OPTION_REG equ 081h"); + + +typedef union { + struct { + unsigned PS :3; + unsigned PSA :1; + unsigned T0SE :1; + unsigned T0CS :1; + unsigned INTEDG :1; + unsigned nRBPU :1; + }; + struct { + unsigned PS0 :1; + unsigned PS1 :1; + unsigned PS2 :1; + }; +} OPTION_REGbits_t; +extern volatile OPTION_REGbits_t OPTION_REGbits __attribute__((address(0x081))); +# 1416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISA __attribute__((address(0x085))); + +__asm("TRISA equ 085h"); + + +typedef union { + struct { + unsigned TRISA0 :1; + unsigned TRISA1 :1; + unsigned TRISA2 :1; + unsigned TRISA3 :1; + unsigned TRISA4 :1; + unsigned TRISA5 :1; + unsigned TRISA6 :1; + unsigned TRISA7 :1; + }; +} TRISAbits_t; +extern volatile TRISAbits_t TRISAbits __attribute__((address(0x085))); +# 1478 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISB __attribute__((address(0x086))); + +__asm("TRISB equ 086h"); + + +typedef union { + struct { + unsigned TRISB0 :1; + unsigned TRISB1 :1; + unsigned TRISB2 :1; + unsigned TRISB3 :1; + unsigned TRISB4 :1; + unsigned TRISB5 :1; + unsigned TRISB6 :1; + unsigned TRISB7 :1; + }; +} TRISBbits_t; +extern volatile TRISBbits_t TRISBbits __attribute__((address(0x086))); +# 1540 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISC __attribute__((address(0x087))); + +__asm("TRISC equ 087h"); + + +typedef union { + struct { + unsigned TRISC0 :1; + unsigned TRISC1 :1; + unsigned TRISC2 :1; + unsigned TRISC3 :1; + unsigned TRISC4 :1; + unsigned TRISC5 :1; + unsigned TRISC6 :1; + unsigned TRISC7 :1; + }; +} TRISCbits_t; +extern volatile TRISCbits_t TRISCbits __attribute__((address(0x087))); +# 1602 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISD __attribute__((address(0x088))); + +__asm("TRISD equ 088h"); + + +typedef union { + struct { + unsigned TRISD0 :1; + unsigned TRISD1 :1; + unsigned TRISD2 :1; + unsigned TRISD3 :1; + unsigned TRISD4 :1; + unsigned TRISD5 :1; + unsigned TRISD6 :1; + unsigned TRISD7 :1; + }; +} TRISDbits_t; +extern volatile TRISDbits_t TRISDbits __attribute__((address(0x088))); +# 1664 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISE __attribute__((address(0x089))); + +__asm("TRISE equ 089h"); + + +typedef union { + struct { + unsigned TRISE0 :1; + unsigned TRISE1 :1; + unsigned TRISE2 :1; + unsigned TRISE3 :1; + }; +} TRISEbits_t; +extern volatile TRISEbits_t TRISEbits __attribute__((address(0x089))); +# 1702 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE1 __attribute__((address(0x08C))); + +__asm("PIE1 equ 08Ch"); + + +typedef union { + struct { + unsigned TMR1IE :1; + unsigned TMR2IE :1; + unsigned CCP1IE :1; + unsigned SSPIE :1; + unsigned TXIE :1; + unsigned RCIE :1; + unsigned ADIE :1; + }; +} PIE1bits_t; +extern volatile PIE1bits_t PIE1bits __attribute__((address(0x08C))); +# 1758 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE2 __attribute__((address(0x08D))); + +__asm("PIE2 equ 08Dh"); + + +typedef union { + struct { + unsigned CCP2IE :1; + unsigned :1; + unsigned ULPWUIE :1; + unsigned BCLIE :1; + unsigned EEIE :1; + unsigned C1IE :1; + unsigned C2IE :1; + unsigned OSFIE :1; + }; +} PIE2bits_t; +extern volatile PIE2bits_t PIE2bits __attribute__((address(0x08D))); +# 1815 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCON __attribute__((address(0x08E))); + +__asm("PCON equ 08Eh"); + + +typedef union { + struct { + unsigned nBOR :1; + unsigned nPOR :1; + unsigned :2; + unsigned SBOREN :1; + unsigned ULPWUE :1; + }; + struct { + unsigned nBO :1; + }; +} PCONbits_t; +extern volatile PCONbits_t PCONbits __attribute__((address(0x08E))); +# 1862 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCCON __attribute__((address(0x08F))); + +__asm("OSCCON equ 08Fh"); + + +typedef union { + struct { + unsigned SCS :1; + unsigned LTS :1; + unsigned HTS :1; + unsigned OSTS :1; + unsigned IRCF :3; + }; + struct { + unsigned :4; + unsigned IRCF0 :1; + unsigned IRCF1 :1; + unsigned IRCF2 :1; + }; +} OSCCONbits_t; +extern volatile OSCCONbits_t OSCCONbits __attribute__((address(0x08F))); +# 1927 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCTUNE __attribute__((address(0x090))); + +__asm("OSCTUNE equ 090h"); + + +typedef union { + struct { + unsigned TUN :5; + }; + struct { + unsigned TUN0 :1; + unsigned TUN1 :1; + unsigned TUN2 :1; + unsigned TUN3 :1; + unsigned TUN4 :1; + }; +} OSCTUNEbits_t; +extern volatile OSCTUNEbits_t OSCTUNEbits __attribute__((address(0x090))); +# 1979 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPCON2 __attribute__((address(0x091))); + +__asm("SSPCON2 equ 091h"); + + +typedef union { + struct { + unsigned SEN :1; + unsigned RSEN :1; + unsigned PEN :1; + unsigned RCEN :1; + unsigned ACKEN :1; + unsigned ACKDT :1; + unsigned ACKSTAT :1; + unsigned GCEN :1; + }; +} SSPCON2bits_t; +extern volatile SSPCON2bits_t SSPCON2bits __attribute__((address(0x091))); +# 2041 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PR2 __attribute__((address(0x092))); + +__asm("PR2 equ 092h"); + + + + +extern volatile unsigned char SSPADD __attribute__((address(0x093))); + +__asm("SSPADD equ 093h"); + + + + +extern volatile unsigned char SSPMSK __attribute__((address(0x093))); + +__asm("SSPMSK equ 093h"); + + +extern volatile unsigned char MSK __attribute__((address(0x093))); + +__asm("MSK equ 093h"); + + +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} SSPMSKbits_t; +extern volatile SSPMSKbits_t SSPMSKbits __attribute__((address(0x093))); +# 2120 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} MSKbits_t; +extern volatile MSKbits_t MSKbits __attribute__((address(0x093))); +# 2177 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPSTAT __attribute__((address(0x094))); + +__asm("SSPSTAT equ 094h"); + + +typedef union { + struct { + unsigned BF :1; + unsigned UA :1; + unsigned R_nW :1; + unsigned S :1; + unsigned P :1; + unsigned D_nA :1; + unsigned CKE :1; + unsigned SMP :1; + }; + struct { + unsigned :2; + unsigned R :1; + unsigned :2; + unsigned D :1; + }; + struct { + unsigned :2; + unsigned I2C_READ :1; + unsigned I2C_START :1; + unsigned I2C_STOP :1; + unsigned I2C_DATA :1; + }; + struct { + unsigned :2; + unsigned nW :1; + unsigned :2; + unsigned nA :1; + }; + struct { + unsigned :2; + unsigned nWRITE :1; + unsigned :2; + unsigned nADDRESS :1; + }; + struct { + unsigned :2; + unsigned R_W :1; + unsigned :2; + unsigned D_A :1; + }; + struct { + unsigned :2; + unsigned READ_WRITE :1; + unsigned :2; + unsigned DATA_ADDRESS :1; + }; +} SSPSTATbits_t; +extern volatile SSPSTATbits_t SSPSTATbits __attribute__((address(0x094))); +# 2346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WPUB __attribute__((address(0x095))); + +__asm("WPUB equ 095h"); + + +typedef union { + struct { + unsigned WPUB :8; + }; + struct { + unsigned WPUB0 :1; + unsigned WPUB1 :1; + unsigned WPUB2 :1; + unsigned WPUB3 :1; + unsigned WPUB4 :1; + unsigned WPUB5 :1; + unsigned WPUB6 :1; + unsigned WPUB7 :1; + }; +} WPUBbits_t; +extern volatile WPUBbits_t WPUBbits __attribute__((address(0x095))); +# 2416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char IOCB __attribute__((address(0x096))); + +__asm("IOCB equ 096h"); + + +typedef union { + struct { + unsigned IOCB :8; + }; + struct { + unsigned IOCB0 :1; + unsigned IOCB1 :1; + unsigned IOCB2 :1; + unsigned IOCB3 :1; + unsigned IOCB4 :1; + unsigned IOCB5 :1; + unsigned IOCB6 :1; + unsigned IOCB7 :1; + }; +} IOCBbits_t; +extern volatile IOCBbits_t IOCBbits __attribute__((address(0x096))); +# 2486 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char VRCON __attribute__((address(0x097))); + +__asm("VRCON equ 097h"); + + +typedef union { + struct { + unsigned VR :4; + unsigned VRSS :1; + unsigned VRR :1; + unsigned VROE :1; + unsigned VREN :1; + }; + struct { + unsigned VR0 :1; + unsigned VR1 :1; + unsigned VR2 :1; + unsigned VR3 :1; + }; +} VRCONbits_t; +extern volatile VRCONbits_t VRCONbits __attribute__((address(0x097))); +# 2556 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXSTA __attribute__((address(0x098))); + +__asm("TXSTA equ 098h"); + + +typedef union { + struct { + unsigned TX9D :1; + unsigned TRMT :1; + unsigned BRGH :1; + unsigned SENDB :1; + unsigned SYNC :1; + unsigned TXEN :1; + unsigned TX9 :1; + unsigned CSRC :1; + }; + struct { + unsigned TXD8 :1; + unsigned :5; + unsigned nTX8 :1; + }; + struct { + unsigned :6; + unsigned TX8_9 :1; + }; +} TXSTAbits_t; +extern volatile TXSTAbits_t TXSTAbits __attribute__((address(0x098))); +# 2642 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRG __attribute__((address(0x099))); + +__asm("SPBRG equ 099h"); + + +typedef union { + struct { + unsigned BRG0 :1; + unsigned BRG1 :1; + unsigned BRG2 :1; + unsigned BRG3 :1; + unsigned BRG4 :1; + unsigned BRG5 :1; + unsigned BRG6 :1; + unsigned BRG7 :1; + }; +} SPBRGbits_t; +extern volatile SPBRGbits_t SPBRGbits __attribute__((address(0x099))); +# 2704 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRGH __attribute__((address(0x09A))); + +__asm("SPBRGH equ 09Ah"); + + +typedef union { + struct { + unsigned SPBRGH :8; + }; + struct { + unsigned BRG8 :1; + unsigned BRG9 :1; + unsigned BRG10 :1; + unsigned BRG11 :1; + unsigned BRG12 :1; + unsigned BRG13 :1; + unsigned BRG14 :1; + unsigned BRG15 :1; + }; +} SPBRGHbits_t; +extern volatile SPBRGHbits_t SPBRGHbits __attribute__((address(0x09A))); +# 2774 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PWM1CON __attribute__((address(0x09B))); + +__asm("PWM1CON equ 09Bh"); + + +typedef union { + struct { + unsigned PDC :7; + unsigned PRSEN :1; + }; + struct { + unsigned PDC0 :1; + unsigned PDC1 :1; + unsigned PDC2 :1; + unsigned PDC3 :1; + unsigned PDC4 :1; + unsigned PDC5 :1; + unsigned PDC6 :1; + }; +} PWM1CONbits_t; +extern volatile PWM1CONbits_t PWM1CONbits __attribute__((address(0x09B))); +# 2844 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ECCPAS __attribute__((address(0x09C))); + +__asm("ECCPAS equ 09Ch"); + + +typedef union { + struct { + unsigned PSSBD :2; + unsigned PSSAC :2; + unsigned ECCPAS :3; + unsigned ECCPASE :1; + }; + struct { + unsigned PSSBD0 :1; + unsigned PSSBD1 :1; + unsigned PSSAC0 :1; + unsigned PSSAC1 :1; + unsigned ECCPAS0 :1; + unsigned ECCPAS1 :1; + unsigned ECCPAS2 :1; + }; +} ECCPASbits_t; +extern volatile ECCPASbits_t ECCPASbits __attribute__((address(0x09C))); +# 2926 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PSTRCON __attribute__((address(0x09D))); + +__asm("PSTRCON equ 09Dh"); + + +typedef union { + struct { + unsigned STRA :1; + unsigned STRB :1; + unsigned STRC :1; + unsigned STRD :1; + unsigned STRSYNC :1; + }; +} PSTRCONbits_t; +extern volatile PSTRCONbits_t PSTRCONbits __attribute__((address(0x09D))); +# 2970 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESL __attribute__((address(0x09E))); + +__asm("ADRESL equ 09Eh"); + + + + +extern volatile unsigned char ADCON1 __attribute__((address(0x09F))); + +__asm("ADCON1 equ 09Fh"); + + +typedef union { + struct { + unsigned :4; + unsigned VCFG0 :1; + unsigned VCFG1 :1; + unsigned :1; + unsigned ADFM :1; + }; +} ADCON1bits_t; +extern volatile ADCON1bits_t ADCON1bits __attribute__((address(0x09F))); +# 3011 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WDTCON __attribute__((address(0x105))); + +__asm("WDTCON equ 0105h"); + + +typedef union { + struct { + unsigned SWDTEN :1; + unsigned WDTPS :4; + }; + struct { + unsigned :1; + unsigned WDTPS0 :1; + unsigned WDTPS1 :1; + unsigned WDTPS2 :1; + unsigned WDTPS3 :1; + }; +} WDTCONbits_t; +extern volatile WDTCONbits_t WDTCONbits __attribute__((address(0x105))); +# 3064 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM1CON0 __attribute__((address(0x107))); + +__asm("CM1CON0 equ 0107h"); + + +typedef union { + struct { + unsigned C1CH :2; + unsigned C1R :1; + unsigned :1; + unsigned C1POL :1; + unsigned C1OE :1; + unsigned C1OUT :1; + unsigned C1ON :1; + }; + struct { + unsigned C1CH0 :1; + unsigned C1CH1 :1; + }; +} CM1CON0bits_t; +extern volatile CM1CON0bits_t CM1CON0bits __attribute__((address(0x107))); +# 3129 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON0 __attribute__((address(0x108))); + +__asm("CM2CON0 equ 0108h"); + + +typedef union { + struct { + unsigned C2CH :2; + unsigned C2R :1; + unsigned :1; + unsigned C2POL :1; + unsigned C2OE :1; + unsigned C2OUT :1; + unsigned C2ON :1; + }; + struct { + unsigned C2CH0 :1; + unsigned C2CH1 :1; + }; +} CM2CON0bits_t; +extern volatile CM2CON0bits_t CM2CON0bits __attribute__((address(0x108))); +# 3194 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON1 __attribute__((address(0x109))); + +__asm("CM2CON1 equ 0109h"); + + +typedef union { + struct { + unsigned C2SYNC :1; + unsigned T1GSS :1; + unsigned :2; + unsigned C2RSEL :1; + unsigned C1RSEL :1; + unsigned MC2OUT :1; + unsigned MC1OUT :1; + }; +} CM2CON1bits_t; +extern volatile CM2CON1bits_t CM2CON1bits __attribute__((address(0x109))); +# 3245 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EEDATA __attribute__((address(0x10C))); + +__asm("EEDATA equ 010Ch"); + + +extern volatile unsigned char EEDAT __attribute__((address(0x10C))); + +__asm("EEDAT equ 010Ch"); + + + + +extern volatile unsigned char EEADR __attribute__((address(0x10D))); + +__asm("EEADR equ 010Dh"); + + + + +extern volatile unsigned char EEDATH __attribute__((address(0x10E))); + +__asm("EEDATH equ 010Eh"); + + + + +extern volatile unsigned char EEADRH __attribute__((address(0x10F))); + +__asm("EEADRH equ 010Fh"); + + + + +extern volatile unsigned char SRCON __attribute__((address(0x185))); + +__asm("SRCON equ 0185h"); + + +typedef union { + struct { + unsigned FVREN :1; + unsigned :1; + unsigned PULSR :1; + unsigned PULSS :1; + unsigned C2REN :1; + unsigned C1SEN :1; + unsigned SR0 :1; + unsigned SR1 :1; + }; +} SRCONbits_t; +extern volatile SRCONbits_t SRCONbits __attribute__((address(0x185))); +# 3335 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char BAUDCTL __attribute__((address(0x187))); + +__asm("BAUDCTL equ 0187h"); + + +typedef union { + struct { + unsigned ABDEN :1; + unsigned WUE :1; + unsigned :1; + unsigned BRG16 :1; + unsigned SCKP :1; + unsigned :1; + unsigned RCIDL :1; + unsigned ABDOVF :1; + }; +} BAUDCTLbits_t; +extern volatile BAUDCTLbits_t BAUDCTLbits __attribute__((address(0x187))); +# 3387 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSEL __attribute__((address(0x188))); + +__asm("ANSEL equ 0188h"); + + +typedef union { + struct { + unsigned ANS0 :1; + unsigned ANS1 :1; + unsigned ANS2 :1; + unsigned ANS3 :1; + unsigned ANS4 :1; + unsigned ANS5 :1; + unsigned ANS6 :1; + unsigned ANS7 :1; + }; +} ANSELbits_t; +extern volatile ANSELbits_t ANSELbits __attribute__((address(0x188))); +# 3449 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSELH __attribute__((address(0x189))); + +__asm("ANSELH equ 0189h"); + + +typedef union { + struct { + unsigned ANS8 :1; + unsigned ANS9 :1; + unsigned ANS10 :1; + unsigned ANS11 :1; + unsigned ANS12 :1; + unsigned ANS13 :1; + }; +} ANSELHbits_t; +extern volatile ANSELHbits_t ANSELHbits __attribute__((address(0x189))); +# 3499 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON1 __attribute__((address(0x18C))); + +__asm("EECON1 equ 018Ch"); + + +typedef union { + struct { + unsigned RD :1; + unsigned WR :1; + unsigned WREN :1; + unsigned WRERR :1; + unsigned :3; + unsigned EEPGD :1; + }; +} EECON1bits_t; +extern volatile EECON1bits_t EECON1bits __attribute__((address(0x18C))); +# 3544 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON2 __attribute__((address(0x18D))); + +__asm("EECON2 equ 018Dh"); +# 3561 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile __bit ABDEN __attribute__((address(0xC38))); + + +extern volatile __bit ABDOVF __attribute__((address(0xC3F))); + + +extern volatile __bit ACKDT __attribute__((address(0x48D))); + + +extern volatile __bit ACKEN __attribute__((address(0x48C))); + + +extern volatile __bit ACKSTAT __attribute__((address(0x48E))); + + +extern volatile __bit ADCS0 __attribute__((address(0xFE))); + + +extern volatile __bit ADCS1 __attribute__((address(0xFF))); + + +extern volatile __bit ADDEN __attribute__((address(0xC3))); + + +extern volatile __bit ADFM __attribute__((address(0x4FF))); + + +extern volatile __bit ADIE __attribute__((address(0x466))); + + +extern volatile __bit ADIF __attribute__((address(0x66))); + + +extern volatile __bit ADON __attribute__((address(0xF8))); + + +extern volatile __bit ANS0 __attribute__((address(0xC40))); + + +extern volatile __bit ANS1 __attribute__((address(0xC41))); + + +extern volatile __bit ANS10 __attribute__((address(0xC4A))); + + +extern volatile __bit ANS11 __attribute__((address(0xC4B))); + + +extern volatile __bit ANS12 __attribute__((address(0xC4C))); + + +extern volatile __bit ANS13 __attribute__((address(0xC4D))); + + +extern volatile __bit ANS2 __attribute__((address(0xC42))); + + +extern volatile __bit ANS3 __attribute__((address(0xC43))); + + +extern volatile __bit ANS4 __attribute__((address(0xC44))); + + +extern volatile __bit ANS5 __attribute__((address(0xC45))); + + +extern volatile __bit ANS6 __attribute__((address(0xC46))); + + +extern volatile __bit ANS7 __attribute__((address(0xC47))); + + +extern volatile __bit ANS8 __attribute__((address(0xC48))); + + +extern volatile __bit ANS9 __attribute__((address(0xC49))); + + +extern volatile __bit BCLIE __attribute__((address(0x46B))); + + +extern volatile __bit BCLIF __attribute__((address(0x6B))); + + +extern volatile __bit BF __attribute__((address(0x4A0))); + + +extern volatile __bit BRG0 __attribute__((address(0x4C8))); + + +extern volatile __bit BRG1 __attribute__((address(0x4C9))); + + +extern volatile __bit BRG10 __attribute__((address(0x4D2))); + + +extern volatile __bit BRG11 __attribute__((address(0x4D3))); + + +extern volatile __bit BRG12 __attribute__((address(0x4D4))); + + +extern volatile __bit BRG13 __attribute__((address(0x4D5))); + + +extern volatile __bit BRG14 __attribute__((address(0x4D6))); + + +extern volatile __bit BRG15 __attribute__((address(0x4D7))); + + +extern volatile __bit BRG16 __attribute__((address(0xC3B))); + + +extern volatile __bit BRG2 __attribute__((address(0x4CA))); + + +extern volatile __bit BRG3 __attribute__((address(0x4CB))); + + +extern volatile __bit BRG4 __attribute__((address(0x4CC))); + + +extern volatile __bit BRG5 __attribute__((address(0x4CD))); + + +extern volatile __bit BRG6 __attribute__((address(0x4CE))); + + +extern volatile __bit BRG7 __attribute__((address(0x4CF))); + + +extern volatile __bit BRG8 __attribute__((address(0x4D0))); + + +extern volatile __bit BRG9 __attribute__((address(0x4D1))); + + +extern volatile __bit BRGH __attribute__((address(0x4C2))); + + +extern volatile __bit C1CH0 __attribute__((address(0x838))); + + +extern volatile __bit C1CH1 __attribute__((address(0x839))); + + +extern volatile __bit C1IE __attribute__((address(0x46D))); + + +extern volatile __bit C1IF __attribute__((address(0x6D))); + + +extern volatile __bit C1OE __attribute__((address(0x83D))); + + +extern volatile __bit C1ON __attribute__((address(0x83F))); + + +extern volatile __bit C1OUT __attribute__((address(0x83E))); + + +extern volatile __bit C1POL __attribute__((address(0x83C))); + + +extern volatile __bit C1R __attribute__((address(0x83A))); + + +extern volatile __bit C1RSEL __attribute__((address(0x84D))); + + +extern volatile __bit C1SEN __attribute__((address(0xC2D))); + + +extern volatile __bit C2CH0 __attribute__((address(0x840))); + + +extern volatile __bit C2CH1 __attribute__((address(0x841))); + + +extern volatile __bit C2IE __attribute__((address(0x46E))); + + +extern volatile __bit C2IF __attribute__((address(0x6E))); + + +extern volatile __bit C2OE __attribute__((address(0x845))); + + +extern volatile __bit C2ON __attribute__((address(0x847))); + + +extern volatile __bit C2OUT __attribute__((address(0x846))); + + +extern volatile __bit C2POL __attribute__((address(0x844))); + + +extern volatile __bit C2R __attribute__((address(0x842))); + + +extern volatile __bit C2REN __attribute__((address(0xC2C))); + + +extern volatile __bit C2RSEL __attribute__((address(0x84C))); + + +extern volatile __bit C2SYNC __attribute__((address(0x848))); + + +extern volatile __bit CARRY __attribute__((address(0x18))); + + +extern volatile __bit CCP1IE __attribute__((address(0x462))); + + +extern volatile __bit CCP1IF __attribute__((address(0x62))); + + +extern volatile __bit CCP1M0 __attribute__((address(0xB8))); + + +extern volatile __bit CCP1M1 __attribute__((address(0xB9))); + + +extern volatile __bit CCP1M2 __attribute__((address(0xBA))); + + +extern volatile __bit CCP1M3 __attribute__((address(0xBB))); + + +extern volatile __bit CCP1X __attribute__((address(0xBD))); + + +extern volatile __bit CCP1Y __attribute__((address(0xBC))); + + +extern volatile __bit CCP2IE __attribute__((address(0x468))); + + +extern volatile __bit CCP2IF __attribute__((address(0x68))); + + +extern volatile __bit CCP2M0 __attribute__((address(0xE8))); + + +extern volatile __bit CCP2M1 __attribute__((address(0xE9))); + + +extern volatile __bit CCP2M2 __attribute__((address(0xEA))); + + +extern volatile __bit CCP2M3 __attribute__((address(0xEB))); + + +extern volatile __bit CCP2X __attribute__((address(0xED))); + + +extern volatile __bit CCP2Y __attribute__((address(0xEC))); + + +extern volatile __bit CHS0 __attribute__((address(0xFA))); + + +extern volatile __bit CHS1 __attribute__((address(0xFB))); + + +extern volatile __bit CHS2 __attribute__((address(0xFC))); + + +extern volatile __bit CHS3 __attribute__((address(0xFD))); + + +extern volatile __bit CKE __attribute__((address(0x4A6))); + + +extern volatile __bit CKP __attribute__((address(0xA4))); + + +extern volatile __bit CREN __attribute__((address(0xC4))); + + +extern volatile __bit CSRC __attribute__((address(0x4C7))); + + +extern volatile __bit DATA_ADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit DC __attribute__((address(0x19))); + + +extern volatile __bit DC1B0 __attribute__((address(0xBC))); + + +extern volatile __bit DC1B1 __attribute__((address(0xBD))); + + +extern volatile __bit DC2B0 __attribute__((address(0xEC))); + + +extern volatile __bit DC2B1 __attribute__((address(0xED))); + + +extern volatile __bit D_A __attribute__((address(0x4A5))); + + +extern volatile __bit D_nA __attribute__((address(0x4A5))); + + +extern volatile __bit ECCPAS0 __attribute__((address(0x4E4))); + + +extern volatile __bit ECCPAS1 __attribute__((address(0x4E5))); + + +extern volatile __bit ECCPAS2 __attribute__((address(0x4E6))); + + +extern volatile __bit ECCPASE __attribute__((address(0x4E7))); + + +extern volatile __bit EEIE __attribute__((address(0x46C))); + + +extern volatile __bit EEIF __attribute__((address(0x6C))); + + +extern volatile __bit EEPGD __attribute__((address(0xC67))); + + +extern volatile __bit FERR __attribute__((address(0xC2))); + + +extern volatile __bit FVREN __attribute__((address(0xC28))); + + +extern volatile __bit GCEN __attribute__((address(0x48F))); + + +extern volatile __bit GIE __attribute__((address(0x5F))); + + +extern volatile __bit GO __attribute__((address(0xF9))); + + +extern volatile __bit GO_DONE __attribute__((address(0xF9))); + + +extern volatile __bit GO_nDONE __attribute__((address(0xF9))); + + +extern volatile __bit HTS __attribute__((address(0x47A))); + + +extern volatile __bit I2C_DATA __attribute__((address(0x4A5))); + + +extern volatile __bit I2C_READ __attribute__((address(0x4A2))); + + +extern volatile __bit I2C_START __attribute__((address(0x4A3))); + + +extern volatile __bit I2C_STOP __attribute__((address(0x4A4))); + + +extern volatile __bit INTE __attribute__((address(0x5C))); + + +extern volatile __bit INTEDG __attribute__((address(0x40E))); + + +extern volatile __bit INTF __attribute__((address(0x59))); + + +extern volatile __bit IOCB0 __attribute__((address(0x4B0))); + + +extern volatile __bit IOCB1 __attribute__((address(0x4B1))); + + +extern volatile __bit IOCB2 __attribute__((address(0x4B2))); + + +extern volatile __bit IOCB3 __attribute__((address(0x4B3))); + + +extern volatile __bit IOCB4 __attribute__((address(0x4B4))); + + +extern volatile __bit IOCB5 __attribute__((address(0x4B5))); + + +extern volatile __bit IOCB6 __attribute__((address(0x4B6))); + + +extern volatile __bit IOCB7 __attribute__((address(0x4B7))); + + +extern volatile __bit IRCF0 __attribute__((address(0x47C))); + + +extern volatile __bit IRCF1 __attribute__((address(0x47D))); + + +extern volatile __bit IRCF2 __attribute__((address(0x47E))); + + +extern volatile __bit IRP __attribute__((address(0x1F))); + + +extern volatile __bit LTS __attribute__((address(0x479))); + + +extern volatile __bit MC1OUT __attribute__((address(0x84F))); + + +extern volatile __bit MC2OUT __attribute__((address(0x84E))); + + +extern volatile __bit MSK0 __attribute__((address(0x498))); + + +extern volatile __bit MSK1 __attribute__((address(0x499))); + + +extern volatile __bit MSK2 __attribute__((address(0x49A))); + + +extern volatile __bit MSK3 __attribute__((address(0x49B))); + + +extern volatile __bit MSK4 __attribute__((address(0x49C))); + + +extern volatile __bit MSK5 __attribute__((address(0x49D))); + + +extern volatile __bit MSK6 __attribute__((address(0x49E))); + + +extern volatile __bit MSK7 __attribute__((address(0x49F))); + + +extern volatile __bit OERR __attribute__((address(0xC1))); + + +extern volatile __bit OSFIE __attribute__((address(0x46F))); + + +extern volatile __bit OSFIF __attribute__((address(0x6F))); + + +extern volatile __bit OSTS __attribute__((address(0x47B))); + + +extern volatile __bit P1M0 __attribute__((address(0xBE))); + + +extern volatile __bit P1M1 __attribute__((address(0xBF))); + + +extern volatile __bit PDC0 __attribute__((address(0x4D8))); + + +extern volatile __bit PDC1 __attribute__((address(0x4D9))); + + +extern volatile __bit PDC2 __attribute__((address(0x4DA))); + + +extern volatile __bit PDC3 __attribute__((address(0x4DB))); + + +extern volatile __bit PDC4 __attribute__((address(0x4DC))); + + +extern volatile __bit PDC5 __attribute__((address(0x4DD))); + + +extern volatile __bit PDC6 __attribute__((address(0x4DE))); + + +extern volatile __bit PEIE __attribute__((address(0x5E))); + + +extern volatile __bit PEN __attribute__((address(0x48A))); + + +extern volatile __bit PRSEN __attribute__((address(0x4DF))); + + +extern volatile __bit PS0 __attribute__((address(0x408))); + + +extern volatile __bit PS1 __attribute__((address(0x409))); + + +extern volatile __bit PS2 __attribute__((address(0x40A))); + + +extern volatile __bit PSA __attribute__((address(0x40B))); + + +extern volatile __bit PSSAC0 __attribute__((address(0x4E2))); + + +extern volatile __bit PSSAC1 __attribute__((address(0x4E3))); + + +extern volatile __bit PSSBD0 __attribute__((address(0x4E0))); + + +extern volatile __bit PSSBD1 __attribute__((address(0x4E1))); + + +extern volatile __bit PULSR __attribute__((address(0xC2A))); + + +extern volatile __bit PULSS __attribute__((address(0xC2B))); + + +extern volatile __bit RA0 __attribute__((address(0x28))); + + +extern volatile __bit RA1 __attribute__((address(0x29))); + + +extern volatile __bit RA2 __attribute__((address(0x2A))); + + +extern volatile __bit RA3 __attribute__((address(0x2B))); + + +extern volatile __bit RA4 __attribute__((address(0x2C))); + + +extern volatile __bit RA5 __attribute__((address(0x2D))); + + +extern volatile __bit RA6 __attribute__((address(0x2E))); + + +extern volatile __bit RA7 __attribute__((address(0x2F))); + + +extern volatile __bit RB0 __attribute__((address(0x30))); + + +extern volatile __bit RB1 __attribute__((address(0x31))); + + +extern volatile __bit RB2 __attribute__((address(0x32))); + + +extern volatile __bit RB3 __attribute__((address(0x33))); + + +extern volatile __bit RB4 __attribute__((address(0x34))); + + +extern volatile __bit RB5 __attribute__((address(0x35))); + + +extern volatile __bit RB6 __attribute__((address(0x36))); + + +extern volatile __bit RB7 __attribute__((address(0x37))); + + +extern volatile __bit RBIE __attribute__((address(0x5B))); + + +extern volatile __bit RBIF __attribute__((address(0x58))); + + +extern volatile __bit RC0 __attribute__((address(0x38))); + + +extern volatile __bit RC1 __attribute__((address(0x39))); + + +extern volatile __bit RC2 __attribute__((address(0x3A))); + + +extern volatile __bit RC3 __attribute__((address(0x3B))); + + +extern volatile __bit RC4 __attribute__((address(0x3C))); + + +extern volatile __bit RC5 __attribute__((address(0x3D))); + + +extern volatile __bit RC6 __attribute__((address(0x3E))); + + +extern volatile __bit RC7 __attribute__((address(0x3F))); + + +extern volatile __bit RC8_9 __attribute__((address(0xC6))); + + +extern volatile __bit RC9 __attribute__((address(0xC6))); + + +extern volatile __bit RCD8 __attribute__((address(0xC0))); + + +extern volatile __bit RCEN __attribute__((address(0x48B))); + + +extern volatile __bit RCIDL __attribute__((address(0xC3E))); + + +extern volatile __bit RCIE __attribute__((address(0x465))); + + +extern volatile __bit RCIF __attribute__((address(0x65))); + + +extern volatile __bit RD __attribute__((address(0xC60))); + + +extern volatile __bit RD0 __attribute__((address(0x40))); + + +extern volatile __bit RD1 __attribute__((address(0x41))); + + +extern volatile __bit RD2 __attribute__((address(0x42))); + + +extern volatile __bit RD3 __attribute__((address(0x43))); + + +extern volatile __bit RD4 __attribute__((address(0x44))); + + +extern volatile __bit RD5 __attribute__((address(0x45))); + + +extern volatile __bit RD6 __attribute__((address(0x46))); + + +extern volatile __bit RD7 __attribute__((address(0x47))); + + +extern volatile __bit RE0 __attribute__((address(0x48))); + + +extern volatile __bit RE1 __attribute__((address(0x49))); + + +extern volatile __bit RE2 __attribute__((address(0x4A))); + + +extern volatile __bit RE3 __attribute__((address(0x4B))); + + +extern volatile __bit READ_WRITE __attribute__((address(0x4A2))); + + +extern volatile __bit RP0 __attribute__((address(0x1D))); + + +extern volatile __bit RP1 __attribute__((address(0x1E))); + + +extern volatile __bit RSEN __attribute__((address(0x489))); + + +extern volatile __bit RX9 __attribute__((address(0xC6))); + + +extern volatile __bit RX9D __attribute__((address(0xC0))); + + +extern volatile __bit R_W __attribute__((address(0x4A2))); + + +extern volatile __bit R_nW __attribute__((address(0x4A2))); + + +extern volatile __bit SBOREN __attribute__((address(0x474))); + + +extern volatile __bit SCKP __attribute__((address(0xC3C))); + + +extern volatile __bit SCS __attribute__((address(0x478))); + + +extern volatile __bit SEN __attribute__((address(0x488))); + + +extern volatile __bit SENDB __attribute__((address(0x4C3))); + + +extern volatile __bit SMP __attribute__((address(0x4A7))); + + +extern volatile __bit SPEN __attribute__((address(0xC7))); + + +extern volatile __bit SR0 __attribute__((address(0xC2E))); + + +extern volatile __bit SR1 __attribute__((address(0xC2F))); + + +extern volatile __bit SREN __attribute__((address(0xC5))); + + +extern volatile __bit SSPEN __attribute__((address(0xA5))); + + +extern volatile __bit SSPIE __attribute__((address(0x463))); + + +extern volatile __bit SSPIF __attribute__((address(0x63))); + + +extern volatile __bit SSPM0 __attribute__((address(0xA0))); + + +extern volatile __bit SSPM1 __attribute__((address(0xA1))); + + +extern volatile __bit SSPM2 __attribute__((address(0xA2))); + + +extern volatile __bit SSPM3 __attribute__((address(0xA3))); + + +extern volatile __bit SSPOV __attribute__((address(0xA6))); + + +extern volatile __bit STRA __attribute__((address(0x4E8))); + + +extern volatile __bit STRB __attribute__((address(0x4E9))); + + +extern volatile __bit STRC __attribute__((address(0x4EA))); + + +extern volatile __bit STRD __attribute__((address(0x4EB))); + + +extern volatile __bit STRSYNC __attribute__((address(0x4EC))); + + +extern volatile __bit SWDTEN __attribute__((address(0x828))); + + +extern volatile __bit SYNC __attribute__((address(0x4C4))); + + +extern volatile __bit T0CS __attribute__((address(0x40D))); + + +extern volatile __bit T0IE __attribute__((address(0x5D))); + + +extern volatile __bit T0IF __attribute__((address(0x5A))); + + +extern volatile __bit T0SE __attribute__((address(0x40C))); + + +extern volatile __bit T1CKPS0 __attribute__((address(0x84))); + + +extern volatile __bit T1CKPS1 __attribute__((address(0x85))); + + +extern volatile __bit T1GINV __attribute__((address(0x87))); + + +extern volatile __bit T1GIV __attribute__((address(0x87))); + + +extern volatile __bit T1GSS __attribute__((address(0x849))); + + +extern volatile __bit T1INSYNC __attribute__((address(0x82))); + + +extern volatile __bit T1OSCEN __attribute__((address(0x83))); + + +extern volatile __bit T1SYNC __attribute__((address(0x82))); + + +extern volatile __bit T2CKPS0 __attribute__((address(0x90))); + + +extern volatile __bit T2CKPS1 __attribute__((address(0x91))); + + +extern volatile __bit TMR0IE __attribute__((address(0x5D))); + + +extern volatile __bit TMR0IF __attribute__((address(0x5A))); + + +extern volatile __bit TMR1CS __attribute__((address(0x81))); + + +extern volatile __bit TMR1GE __attribute__((address(0x86))); + + +extern volatile __bit TMR1IE __attribute__((address(0x460))); + + +extern volatile __bit TMR1IF __attribute__((address(0x60))); + + +extern volatile __bit TMR1ON __attribute__((address(0x80))); + + +extern volatile __bit TMR2IE __attribute__((address(0x461))); + + +extern volatile __bit TMR2IF __attribute__((address(0x61))); + + +extern volatile __bit TMR2ON __attribute__((address(0x92))); + + +extern volatile __bit TOUTPS0 __attribute__((address(0x93))); + + +extern volatile __bit TOUTPS1 __attribute__((address(0x94))); + + +extern volatile __bit TOUTPS2 __attribute__((address(0x95))); + + +extern volatile __bit TOUTPS3 __attribute__((address(0x96))); + + +extern volatile __bit TRISA0 __attribute__((address(0x428))); + + +extern volatile __bit TRISA1 __attribute__((address(0x429))); + + +extern volatile __bit TRISA2 __attribute__((address(0x42A))); + + +extern volatile __bit TRISA3 __attribute__((address(0x42B))); + + +extern volatile __bit TRISA4 __attribute__((address(0x42C))); + + +extern volatile __bit TRISA5 __attribute__((address(0x42D))); + + +extern volatile __bit TRISA6 __attribute__((address(0x42E))); + + +extern volatile __bit TRISA7 __attribute__((address(0x42F))); + + +extern volatile __bit TRISB0 __attribute__((address(0x430))); + + +extern volatile __bit TRISB1 __attribute__((address(0x431))); + + +extern volatile __bit TRISB2 __attribute__((address(0x432))); + + +extern volatile __bit TRISB3 __attribute__((address(0x433))); + + +extern volatile __bit TRISB4 __attribute__((address(0x434))); + + +extern volatile __bit TRISB5 __attribute__((address(0x435))); + + +extern volatile __bit TRISB6 __attribute__((address(0x436))); + + +extern volatile __bit TRISB7 __attribute__((address(0x437))); + + +extern volatile __bit TRISC0 __attribute__((address(0x438))); + + +extern volatile __bit TRISC1 __attribute__((address(0x439))); + + +extern volatile __bit TRISC2 __attribute__((address(0x43A))); + + +extern volatile __bit TRISC3 __attribute__((address(0x43B))); + + +extern volatile __bit TRISC4 __attribute__((address(0x43C))); + + +extern volatile __bit TRISC5 __attribute__((address(0x43D))); + + +extern volatile __bit TRISC6 __attribute__((address(0x43E))); + + +extern volatile __bit TRISC7 __attribute__((address(0x43F))); + + +extern volatile __bit TRISD0 __attribute__((address(0x440))); + + +extern volatile __bit TRISD1 __attribute__((address(0x441))); + + +extern volatile __bit TRISD2 __attribute__((address(0x442))); + + +extern volatile __bit TRISD3 __attribute__((address(0x443))); + + +extern volatile __bit TRISD4 __attribute__((address(0x444))); + + +extern volatile __bit TRISD5 __attribute__((address(0x445))); + + +extern volatile __bit TRISD6 __attribute__((address(0x446))); + + +extern volatile __bit TRISD7 __attribute__((address(0x447))); + + +extern volatile __bit TRISE0 __attribute__((address(0x448))); + + +extern volatile __bit TRISE1 __attribute__((address(0x449))); + + +extern volatile __bit TRISE2 __attribute__((address(0x44A))); + + +extern volatile __bit TRISE3 __attribute__((address(0x44B))); + + +extern volatile __bit TRMT __attribute__((address(0x4C1))); + + +extern volatile __bit TUN0 __attribute__((address(0x480))); + + +extern volatile __bit TUN1 __attribute__((address(0x481))); + + +extern volatile __bit TUN2 __attribute__((address(0x482))); + + +extern volatile __bit TUN3 __attribute__((address(0x483))); + + +extern volatile __bit TUN4 __attribute__((address(0x484))); + + +extern volatile __bit TX8_9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9D __attribute__((address(0x4C0))); + + +extern volatile __bit TXD8 __attribute__((address(0x4C0))); + + +extern volatile __bit TXEN __attribute__((address(0x4C5))); + + +extern volatile __bit TXIE __attribute__((address(0x464))); + + +extern volatile __bit TXIF __attribute__((address(0x64))); + + +extern volatile __bit UA __attribute__((address(0x4A1))); + + +extern volatile __bit ULPWUE __attribute__((address(0x475))); + + +extern volatile __bit ULPWUIE __attribute__((address(0x46A))); + + +extern volatile __bit ULPWUIF __attribute__((address(0x6A))); + + +extern volatile __bit VCFG0 __attribute__((address(0x4FC))); + + +extern volatile __bit VCFG1 __attribute__((address(0x4FD))); + + +extern volatile __bit VR0 __attribute__((address(0x4B8))); + + +extern volatile __bit VR1 __attribute__((address(0x4B9))); + + +extern volatile __bit VR2 __attribute__((address(0x4BA))); + + +extern volatile __bit VR3 __attribute__((address(0x4BB))); + + +extern volatile __bit VREN __attribute__((address(0x4BF))); + + +extern volatile __bit VROE __attribute__((address(0x4BE))); + + +extern volatile __bit VRR __attribute__((address(0x4BD))); + + +extern volatile __bit VRSS __attribute__((address(0x4BC))); + + +extern volatile __bit WCOL __attribute__((address(0xA7))); + + +extern volatile __bit WDTPS0 __attribute__((address(0x829))); + + +extern volatile __bit WDTPS1 __attribute__((address(0x82A))); + + +extern volatile __bit WDTPS2 __attribute__((address(0x82B))); + + +extern volatile __bit WDTPS3 __attribute__((address(0x82C))); + + +extern volatile __bit WPUB0 __attribute__((address(0x4A8))); + + +extern volatile __bit WPUB1 __attribute__((address(0x4A9))); + + +extern volatile __bit WPUB2 __attribute__((address(0x4AA))); + + +extern volatile __bit WPUB3 __attribute__((address(0x4AB))); + + +extern volatile __bit WPUB4 __attribute__((address(0x4AC))); + + +extern volatile __bit WPUB5 __attribute__((address(0x4AD))); + + +extern volatile __bit WPUB6 __attribute__((address(0x4AE))); + + +extern volatile __bit WPUB7 __attribute__((address(0x4AF))); + + +extern volatile __bit WR __attribute__((address(0xC61))); + + +extern volatile __bit WREN __attribute__((address(0xC62))); + + +extern volatile __bit WRERR __attribute__((address(0xC63))); + + +extern volatile __bit WUE __attribute__((address(0xC39))); + + +extern volatile __bit ZERO __attribute__((address(0x1A))); + + +extern volatile __bit nA __attribute__((address(0x4A5))); + + +extern volatile __bit nADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit nBO __attribute__((address(0x470))); + + +extern volatile __bit nBOR __attribute__((address(0x470))); + + +extern volatile __bit nDONE __attribute__((address(0xF9))); + + +extern volatile __bit nPD __attribute__((address(0x1B))); + + +extern volatile __bit nPOR __attribute__((address(0x471))); + + +extern volatile __bit nRBPU __attribute__((address(0x40F))); + + +extern volatile __bit nRC8 __attribute__((address(0xC6))); + + +extern volatile __bit nT1SYNC __attribute__((address(0x82))); + + +extern volatile __bit nTO __attribute__((address(0x1C))); + + +extern volatile __bit nTX8 __attribute__((address(0x4C6))); + + +extern volatile __bit nW __attribute__((address(0x4A2))); + + +extern volatile __bit nWRITE __attribute__((address(0x4A2))); +# 725 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 2 3 +# 14 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 76 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +__attribute__((__unsupported__("The " "FLASH_READ" " macro function is no longer supported. Please use the MPLAB X MCC."))) unsigned char __flash_read(unsigned short addr); + +__attribute__((__unsupported__("The " "FLASH_WRITE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_write(unsigned short addr, unsigned short data); + +__attribute__((__unsupported__("The " "FLASH_ERASE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_erase(unsigned short addr); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 1 3 +# 114 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 3 +extern void eeprom_write(unsigned char addr, unsigned char value); +extern unsigned char eeprom_read(unsigned char addr); +# 84 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 118 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +extern __bank0 unsigned char __resetbits; +extern __bank0 __bit __powerdown; +extern __bank0 __bit __timeout; +# 29 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 5 "src/../include/config.h" 2 + + + + +#pragma config FOSC = INTRC_NOCLKOUT +#pragma config WDTE = OFF +#pragma config PWRTE = ON +#pragma config MCLRE = OFF +#pragma config CP = OFF +#pragma config CPD = OFF +#pragma config BOREN = ON +#pragma config IESO = OFF +#pragma config FCMEN = OFF +#pragma config LVP = OFF +#pragma config BOR4V = BOR40V +#pragma config WRT = OFF +# 2 "src/initialisation.c" 2 + + + +# 1 "src/../include/initialisation.h" 1 +# 13 "src/../include/initialisation.h" + typedef enum { ON = 0, OFF = 1 } PinStates; + + + + +typedef enum { OUTPUT = 0, INPUT = 1 } PinDirection; +typedef enum { DIGITAL = 0, ANALOG = 1 } PinMode; + +typedef struct { + volatile uint8_t* tris; + volatile uint8_t* lat; + volatile uint8_t* ansel; + PinDirection direction; + PinMode mode; +} PinConfig; + + +typedef enum { CONFIG_FOSC = 0, INTERNAL_FOSC = 1 } OscStartupTime; +typedef enum { CONFIG_CLK = 0, INTERNAL_CLK = 1 } SysClockSelect; +typedef enum { HTS_UNSTABLE = 0, HTS_STABLE = 1 } HFINTOSCStatus; +typedef enum { LTS_UNSTABLE = 0, LTS_STABLE = 1 } LFINTOSCStable; +typedef enum { + KHZ032 = 0b000, + KHZ125 = 0b001, + KHZ250 = 0b010, + KHZ500 = 0b011, + MHZ001 = 0b100, + MHZ002 = 0b101, + MHZ004 = 0b110, + MHZ008 = 0b111 +} InternalFrequency; + +typedef struct { + SysClockSelect SCS; + InternalFrequency IRCF; + OscStartupTime OSTS; +} OscillatorConfig; + + +typedef enum { GIE_DISABLED = 0, GIE_ENABLED = 1 } GlobalInterrupt; +typedef enum { EINT_DISABLED = 0, EINT_ENABLED = 1 } ExternalInterrupt; +typedef enum { PEIE_DISABLED = 0, PEIE_ENABLED = 1 } PeripheralInterrupt; +typedef enum { T0INT_DISABLED = 0, T0INT_ENABLED = 1 } Timer0OverflowInterrupt; +typedef enum { RBINT_DISABLED = 0, RBINT_ENABLED = 1 } PortBInterrupt; +typedef enum { FALLING_EDGE = 0, RISING_EDGE = 1 } InterruptEdge; +typedef enum { INT_AWAITING = 0, INT_OCCURED = 1 } InterruptFlag; + +typedef struct { + GlobalInterrupt GIE; + ExternalInterrupt EINT; + PeripheralInterrupt PEIE; + Timer0OverflowInterrupt T0IE; + PortBInterrupt RBIE; + InterruptEdge INTEDG; +} InterruptConfig; + + +typedef enum { ADC_OFF = 0, ADC_ON = 1 } ADCEnable; +typedef enum { VREF_MINPIN = 0, VREF_VSS = 1 } ADCVoltageReference1; +typedef enum { VREF_PLUSPIN = 0, VREF_VDD = 1 } ADCVoltageReference0; +typedef enum { ADC_LEFT = 0, ADC_RIGHT = 1 } ADCResultFormat; +typedef enum { ADC_DONE = 0, ADC_IN_PROGRESS = 1 } ADCConversionStatus; +typedef enum { + ADC_AN00 = 0b0000, + ADC_AN01 = 0b0001, + ADC_AN02 = 0b0010, + ADC_AN03 = 0b0011, + ADC_AN04 = 0b0100, + ADC_AN05 = 0b0101, + ADC_AN06 = 0b0110, + ADC_AN07 = 0b0111, + ADC_AN08 = 0b1000, + ADC_AN09 = 0b1001, + ADC_AN10 = 0b1010, + ADC_AN11 = 0b1011, + ADC_AN12 = 0b1100, + ADC_AN13 = 0b1101, + ADC_CVREF = 0b1110, + ADC_FXREF = 0b1111 +} ADCChannelSelect; + +typedef enum { + ADC_FOSC02 = 0b00, + ADC_FOSC08 = 0b01, + ADC_FOSC32 = 0b10, + ADC_INTOSC = 0b11 +} ADCConversionClock; + +typedef struct { + ADCEnable ADON; + ADCResultFormat ADFM; + ADCChannelSelect CHS; + ADCConversionClock ADCS; + ADCVoltageReference0 VCFG0; + ADCVoltageReference1 VCFG1; + ADCConversionStatus GO_nDONE; +} ADCConfig; + + + +void init_osc(OscillatorConfig config); +void init_int(InterruptConfig config); +void init_adc(ADCConfig config); +# 5 "src/initialisation.c" 2 +# 27 "src/initialisation.c" +void init_osc(OscillatorConfig config) { + + OSCCONbits.SCS = config.SCS; + + OSCCONbits.IRCF = config.IRCF; + + OSCCONbits.OSTS = config.OSTS; + + + if (OSCCONbits.IRCF == KHZ032) { + while (OSCCONbits.LTS != LTS_STABLE); + } else { + while (OSCCONbits.HTS != HTS_STABLE); + } +} + + +void init_int(InterruptConfig config) { + + INTCONbits.GIE = config.GIE; + + INTCONbits.INTE = config.EINT; + + + INTCONbits.PEIE = config.PEIE; + + INTCONbits.T0IE = config.T0IE; + + + INTCONbits.RBIE = config.RBIE; + + + IOCBbits.IOCB4 = 1; + IOCBbits.IOCB5 = 1; + + + OPTION_REGbits.INTEDG = config.INTEDG; + + + if (INTCONbits.INTE == EINT_ENABLED) { + INTCONbits.INTF = INT_AWAITING; + } + if (INTCONbits.RBIE == RBINT_ENABLED) { + INTCONbits.RBIF = INT_AWAITING; + } + if (INTCONbits.T0IE == T0INT_ENABLED) { + INTCONbits.T0IF = INT_AWAITING; + } +} + + +void init_adc(ADCConfig config) { + ADCON0bits.ADON = config.ADON; + ADCON0bits.GO_nDONE = config.GO_nDONE; + ADCON0bits.CHS = config.CHS; + + ADCON1bits.ADFM = config.ADFM; + ADCON1bits.VCFG1 = config.VCFG1; + ADCON1bits.VCFG0 = config.VCFG0; +# 94 "src/initialisation.c" +} diff --git a/build/default/debug/src/initialisation.p1 b/build/default/debug/src/initialisation.p1 new file mode 100644 index 0000000..127cdd9 --- /dev/null +++ b/build/default/debug/src/initialisation.p1 @@ -0,0 +1,560 @@ +Version 4.0 HI-TECH Software Intermediate Code +"27 src/initialisation.c +[; ;src/initialisation.c: 27: void init_osc(OscillatorConfig config) { +[c E1443 0 1 .. ] +[n E1443 . CONFIG_CLK INTERNAL_CLK ] +[c E1455 0 1 2 3 4 5 6 7 .. ] +[n E1455 . KHZ032 KHZ125 KHZ250 KHZ500 MHZ001 MHZ002 MHZ004 MHZ008 ] +[c E1439 0 1 .. ] +[n E1439 . CONFIG_FOSC INTERNAL_FOSC ] +"45 src/../include/initialisation.h +[; ;src/../include/initialisation.h: 45: typedef struct { +[s S143 `E1443 1 `E1455 1 `E1439 1 ] +[n S143 . SCS IRCF OSTS ] +"1868 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1868: struct { +[s S74 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :3 `uc 1 ] +[n S74 . SCS LTS HTS OSTS IRCF ] +"1875 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1875: struct { +[s S75 :4 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S75 . . IRCF0 IRCF1 IRCF2 ] +"1867 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1867: typedef union { +[u S73 `S74 1 `S75 1 ] +[n S73 . . . ] +"1882 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1882: extern volatile OSCCONbits_t OSCCONbits __attribute__((address(0x08F))); +[v _OSCCONbits `VS73 ~T0 @X0 0 e@143 ] +"37 src/initialisation.c +[; ;src/initialisation.c: 37: while (OSCCONbits.LTS != LTS_STABLE); +[c E1451 0 1 .. ] +[n E1451 . LTS_UNSTABLE LTS_STABLE ] +"39 +[; ;src/initialisation.c: 39: while (OSCCONbits.HTS != HTS_STABLE); +[c E1447 0 1 .. ] +[n E1447 . HTS_UNSTABLE HTS_STABLE ] +"44 +[; ;src/initialisation.c: 44: void init_int(InterruptConfig config) { +[c E1470 0 1 .. ] +[n E1470 . GIE_DISABLED GIE_ENABLED ] +[c E1474 0 1 .. ] +[n E1474 . EINT_DISABLED EINT_ENABLED ] +[c E1478 0 1 .. ] +[n E1478 . PEIE_DISABLED PEIE_ENABLED ] +[c E1482 0 1 .. ] +[n E1482 . T0INT_DISABLED T0INT_ENABLED ] +[c E1486 0 1 .. ] +[n E1486 . RBINT_DISABLED RBINT_ENABLED ] +[c E1490 0 1 .. ] +[n E1490 . FALLING_EDGE RISING_EDGE ] +"60 src/../include/initialisation.h +[; ;src/../include/initialisation.h: 60: typedef struct { +[s S144 `E1470 1 `E1474 1 `E1478 1 `E1482 1 `E1486 1 `E1490 1 ] +[n S144 . GIE EINT PEIE T0IE RBIE INTEDG ] +"465 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 465: struct { +[s S20 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S20 . RBIF INTF T0IF RBIE INTE T0IE PEIE GIE ] +"475 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 475: struct { +[s S21 :2 `uc 1 :1 `uc 1 :2 `uc 1 :1 `uc 1 ] +[n S21 . . TMR0IF . TMR0IE ] +"464 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 464: typedef union { +[u S19 `S20 1 `S21 1 ] +[n S19 . . . ] +"482 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 482: extern volatile INTCONbits_t INTCONbits __attribute__((address(0x00B))); +[v _INTCONbits `VS19 ~T0 @X0 0 e@11 ] +"2422 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2422: struct { +[s S97 :8 `uc 1 ] +[n S97 . IOCB ] +"2425 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2425: struct { +[s S98 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S98 . IOCB0 IOCB1 IOCB2 IOCB3 IOCB4 IOCB5 IOCB6 IOCB7 ] +"2421 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2421: typedef union { +[u S96 `S97 1 `S98 1 ] +[n S96 . . . ] +"2436 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2436: extern volatile IOCBbits_t IOCBbits __attribute__((address(0x096))); +[v _IOCBbits `VS96 ~T0 @X0 0 e@150 ] +"1352 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1352: struct { +[s S54 :3 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S54 . PS PSA T0SE T0CS INTEDG nRBPU ] +"1360 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1360: struct { +[s S55 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S55 . PS0 PS1 PS2 ] +"1351 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1351: typedef union { +[u S53 `S54 1 `S55 1 ] +[n S53 . . . ] +"1366 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1366: extern volatile OPTION_REGbits_t OPTION_REGbits __attribute__((address(0x081))); +[v _OPTION_REGbits `VS53 ~T0 @X0 0 e@129 ] +"67 src/initialisation.c +[; ;src/initialisation.c: 67: INTCONbits.INTF = INT_AWAITING; +[c E1494 0 1 .. ] +[n E1494 . INT_AWAITING INT_OCCURED ] +"78 +[; ;src/initialisation.c: 78: void init_adc(ADCConfig config) { +[c E1506 0 1 .. ] +[n E1506 . ADC_OFF ADC_ON ] +[c E1518 0 1 .. ] +[n E1518 . ADC_LEFT ADC_RIGHT ] +[c E1526 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 .. ] +[n E1526 . ADC_AN00 ADC_AN01 ADC_AN02 ADC_AN03 ADC_AN04 ADC_AN05 ADC_AN06 ADC_AN07 ADC_AN08 ADC_AN09 ADC_AN10 ADC_AN11 ADC_AN12 ADC_AN13 ADC_CVREF ADC_FXREF ] +[c E1544 0 1 2 3 .. ] +[n E1544 . ADC_FOSC02 ADC_FOSC08 ADC_FOSC32 ADC_INTOSC ] +[c E1514 0 1 .. ] +[n E1514 . VREF_PLUSPIN VREF_VDD ] +[c E1510 0 1 .. ] +[n E1510 . VREF_MINPIN VREF_VSS ] +[c E1522 0 1 .. ] +[n E1522 . ADC_DONE ADC_IN_PROGRESS ] +"101 src/../include/initialisation.h +[; ;src/../include/initialisation.h: 101: typedef struct { +[s S145 `E1506 1 `E1518 1 `E1526 1 `E1544 1 `E1514 1 `E1510 1 `E1522 1 ] +[n S145 . ADON ADFM CHS ADCS VCFG0 VCFG1 GO_nDONE ] +"1251 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1251: struct { +[s S49 :1 `uc 1 :1 `uc 1 :4 `uc 1 :2 `uc 1 ] +[n S49 . ADON GO_nDONE CHS ADCS ] +"1257 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1257: struct { +[s S50 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S50 . . GO CHS0 CHS1 CHS2 CHS3 ADCS0 ADCS1 ] +"1267 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1267: struct { +[s S51 :1 `uc 1 :1 `uc 1 ] +[n S51 . . nDONE ] +"1271 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1271: struct { +[s S52 :1 `uc 1 :1 `uc 1 ] +[n S52 . . GO_DONE ] +"1250 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1250: typedef union { +[u S48 `S49 1 `S50 1 `S51 1 `S52 1 ] +[n S48 . . . . . ] +"1276 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1276: extern volatile ADCON0bits_t ADCON0bits __attribute__((address(0x01F))); +[v _ADCON0bits `VS48 ~T0 @X0 0 e@31 ] +"2983 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2983: struct { +[s S120 :4 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S120 . . VCFG0 VCFG1 . ADFM ] +"2982 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2982: typedef union { +[u S119 `S120 1 ] +[n S119 . . ] +"2991 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2991: extern volatile ADCON1bits_t ADCON1bits __attribute__((address(0x09F))); +[v _ADCON1bits `VS119 ~T0 @X0 0 e@159 ] +"54 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 54: __asm("INDF equ 00h"); +[; <" INDF equ 00h ;# "> +"61 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 61: __asm("TMR0 equ 01h"); +[; <" TMR0 equ 01h ;# "> +"68 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 68: __asm("PCL equ 02h"); +[; <" PCL equ 02h ;# "> +"75 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 75: __asm("STATUS equ 03h"); +[; <" STATUS equ 03h ;# "> +"161 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 161: __asm("FSR equ 04h"); +[; <" FSR equ 04h ;# "> +"168 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 168: __asm("PORTA equ 05h"); +[; <" PORTA equ 05h ;# "> +"230 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 230: __asm("PORTB equ 06h"); +[; <" PORTB equ 06h ;# "> +"292 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 292: __asm("PORTC equ 07h"); +[; <" PORTC equ 07h ;# "> +"354 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 354: __asm("PORTD equ 08h"); +[; <" PORTD equ 08h ;# "> +"416 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 416: __asm("PORTE equ 09h"); +[; <" PORTE equ 09h ;# "> +"454 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 454: __asm("PCLATH equ 0Ah"); +[; <" PCLATH equ 0Ah ;# "> +"461 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 461: __asm("INTCON equ 0Bh"); +[; <" INTCON equ 0Bh ;# "> +"539 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 539: __asm("PIR1 equ 0Ch"); +[; <" PIR1 equ 0Ch ;# "> +"595 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 595: __asm("PIR2 equ 0Dh"); +[; <" PIR2 equ 0Dh ;# "> +"652 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 652: __asm("TMR1 equ 0Eh"); +[; <" TMR1 equ 0Eh ;# "> +"659 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 659: __asm("TMR1L equ 0Eh"); +[; <" TMR1L equ 0Eh ;# "> +"666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 666: __asm("TMR1H equ 0Fh"); +[; <" TMR1H equ 0Fh ;# "> +"673 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 673: __asm("T1CON equ 010h"); +[; <" T1CON equ 010h ;# "> +"767 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 767: __asm("TMR2 equ 011h"); +[; <" TMR2 equ 011h ;# "> +"774 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 774: __asm("T2CON equ 012h"); +[; <" T2CON equ 012h ;# "> +"845 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 845: __asm("SSPBUF equ 013h"); +[; <" SSPBUF equ 013h ;# "> +"852 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 852: __asm("SSPCON equ 014h"); +[; <" SSPCON equ 014h ;# "> +"922 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 922: __asm("CCPR1 equ 015h"); +[; <" CCPR1 equ 015h ;# "> +"929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 929: __asm("CCPR1L equ 015h"); +[; <" CCPR1L equ 015h ;# "> +"936 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 936: __asm("CCPR1H equ 016h"); +[; <" CCPR1H equ 016h ;# "> +"943 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 943: __asm("CCP1CON equ 017h"); +[; <" CCP1CON equ 017h ;# "> +"1040 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1040: __asm("RCSTA equ 018h"); +[; <" RCSTA equ 018h ;# "> +"1135 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1135: __asm("TXREG equ 019h"); +[; <" TXREG equ 019h ;# "> +"1142 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1142: __asm("RCREG equ 01Ah"); +[; <" RCREG equ 01Ah ;# "> +"1149 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1149: __asm("CCPR2 equ 01Bh"); +[; <" CCPR2 equ 01Bh ;# "> +"1156 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1156: __asm("CCPR2L equ 01Bh"); +[; <" CCPR2L equ 01Bh ;# "> +"1163 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1163: __asm("CCPR2H equ 01Ch"); +[; <" CCPR2H equ 01Ch ;# "> +"1170 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1170: __asm("CCP2CON equ 01Dh"); +[; <" CCP2CON equ 01Dh ;# "> +"1240 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1240: __asm("ADRESH equ 01Eh"); +[; <" ADRESH equ 01Eh ;# "> +"1247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1247: __asm("ADCON0 equ 01Fh"); +[; <" ADCON0 equ 01Fh ;# "> +"1348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1348: __asm("OPTION_REG equ 081h"); +[; <" OPTION_REG equ 081h ;# "> +"1418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1418: __asm("TRISA equ 085h"); +[; <" TRISA equ 085h ;# "> +"1480 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1480: __asm("TRISB equ 086h"); +[; <" TRISB equ 086h ;# "> +"1542 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1542: __asm("TRISC equ 087h"); +[; <" TRISC equ 087h ;# "> +"1604 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1604: __asm("TRISD equ 088h"); +[; <" TRISD equ 088h ;# "> +"1666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1666: __asm("TRISE equ 089h"); +[; <" TRISE equ 089h ;# "> +"1704 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1704: __asm("PIE1 equ 08Ch"); +[; <" PIE1 equ 08Ch ;# "> +"1760 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1760: __asm("PIE2 equ 08Dh"); +[; <" PIE2 equ 08Dh ;# "> +"1817 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1817: __asm("PCON equ 08Eh"); +[; <" PCON equ 08Eh ;# "> +"1864 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1864: __asm("OSCCON equ 08Fh"); +[; <" OSCCON equ 08Fh ;# "> +"1929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1929: __asm("OSCTUNE equ 090h"); +[; <" OSCTUNE equ 090h ;# "> +"1981 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1981: __asm("SSPCON2 equ 091h"); +[; <" SSPCON2 equ 091h ;# "> +"2043 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2043: __asm("PR2 equ 092h"); +[; <" PR2 equ 092h ;# "> +"2050 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2050: __asm("SSPADD equ 093h"); +[; <" SSPADD equ 093h ;# "> +"2057 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2057: __asm("SSPMSK equ 093h"); +[; <" SSPMSK equ 093h ;# "> +"2062 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2062: __asm("MSK equ 093h"); +[; <" MSK equ 093h ;# "> +"2179 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2179: __asm("SSPSTAT equ 094h"); +[; <" SSPSTAT equ 094h ;# "> +"2348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2348: __asm("WPUB equ 095h"); +[; <" WPUB equ 095h ;# "> +"2418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2418: __asm("IOCB equ 096h"); +[; <" IOCB equ 096h ;# "> +"2488 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2488: __asm("VRCON equ 097h"); +[; <" VRCON equ 097h ;# "> +"2558 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2558: __asm("TXSTA equ 098h"); +[; <" TXSTA equ 098h ;# "> +"2644 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2644: __asm("SPBRG equ 099h"); +[; <" SPBRG equ 099h ;# "> +"2706 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2706: __asm("SPBRGH equ 09Ah"); +[; <" SPBRGH equ 09Ah ;# "> +"2776 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2776: __asm("PWM1CON equ 09Bh"); +[; <" PWM1CON equ 09Bh ;# "> +"2846 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2846: __asm("ECCPAS equ 09Ch"); +[; <" ECCPAS equ 09Ch ;# "> +"2928 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2928: __asm("PSTRCON equ 09Dh"); +[; <" PSTRCON equ 09Dh ;# "> +"2972 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2972: __asm("ADRESL equ 09Eh"); +[; <" ADRESL equ 09Eh ;# "> +"2979 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2979: __asm("ADCON1 equ 09Fh"); +[; <" ADCON1 equ 09Fh ;# "> +"3013 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3013: __asm("WDTCON equ 0105h"); +[; <" WDTCON equ 0105h ;# "> +"3066 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3066: __asm("CM1CON0 equ 0107h"); +[; <" CM1CON0 equ 0107h ;# "> +"3131 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3131: __asm("CM2CON0 equ 0108h"); +[; <" CM2CON0 equ 0108h ;# "> +"3196 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3196: __asm("CM2CON1 equ 0109h"); +[; <" CM2CON1 equ 0109h ;# "> +"3247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3247: __asm("EEDATA equ 010Ch"); +[; <" EEDATA equ 010Ch ;# "> +"3252 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3252: __asm("EEDAT equ 010Ch"); +[; <" EEDAT equ 010Ch ;# "> +"3259 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3259: __asm("EEADR equ 010Dh"); +[; <" EEADR equ 010Dh ;# "> +"3266 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3266: __asm("EEDATH equ 010Eh"); +[; <" EEDATH equ 010Eh ;# "> +"3273 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3273: __asm("EEADRH equ 010Fh"); +[; <" EEADRH equ 010Fh ;# "> +"3280 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3280: __asm("SRCON equ 0185h"); +[; <" SRCON equ 0185h ;# "> +"3337 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3337: __asm("BAUDCTL equ 0187h"); +[; <" BAUDCTL equ 0187h ;# "> +"3389 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3389: __asm("ANSEL equ 0188h"); +[; <" ANSEL equ 0188h ;# "> +"3451 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3451: __asm("ANSELH equ 0189h"); +[; <" ANSELH equ 0189h ;# "> +"3501 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3501: __asm("EECON1 equ 018Ch"); +[; <" EECON1 equ 018Ch ;# "> +"3546 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3546: __asm("EECON2 equ 018Dh"); +[; <" EECON2 equ 018Dh ;# "> +"9 src/../include/config.h +[p x FOSC = INTRC_NOCLKOUT ] +"10 +[p x WDTE = OFF ] +"11 +[p x PWRTE = ON ] +"12 +[p x MCLRE = OFF ] +"13 +[p x CP = OFF ] +"14 +[p x CPD = OFF ] +"15 +[p x BOREN = ON ] +"16 +[p x IESO = OFF ] +"17 +[p x FCMEN = OFF ] +"18 +[p x LVP = OFF ] +"19 +[p x BOR4V = BOR40V ] +"20 +[p x WRT = OFF ] +"27 src/initialisation.c +[; ;src/initialisation.c: 27: void init_osc(OscillatorConfig config) { +[v _init_osc `(v ~T0 @X0 1 ef1`S143 ] +{ +[e :U _init_osc ] +[v _config `S143 ~T0 @X0 1 r1 ] +[f ] +"29 +[; ;src/initialisation.c: 29: OSCCONbits.SCS = config.SCS; +[e = . . _OSCCONbits 0 0 -> . _config 0 `uc ] +"31 +[; ;src/initialisation.c: 31: OSCCONbits.IRCF = config.IRCF; +[e = . . _OSCCONbits 0 4 -> . _config 1 `uc ] +"33 +[; ;src/initialisation.c: 33: OSCCONbits.OSTS = config.OSTS; +[e = . . _OSCCONbits 0 3 -> . _config 2 `uc ] +"36 +[; ;src/initialisation.c: 36: if (OSCCONbits.IRCF == KHZ032) { +[e $ ! == -> . . _OSCCONbits 0 4 `i -> . `E1455 0 `i 147 ] +{ +"37 +[; ;src/initialisation.c: 37: while (OSCCONbits.LTS != LTS_STABLE); +[e $U 148 ] +[e :U 149 ] +[e :U 148 ] +[e $ != -> . . _OSCCONbits 0 1 `i -> . `E1451 1 `i 149 ] +[e :U 150 ] +"38 +[; ;src/initialisation.c: 38: } else { +} +[e $U 151 ] +[e :U 147 ] +{ +"39 +[; ;src/initialisation.c: 39: while (OSCCONbits.HTS != HTS_STABLE); +[e $U 152 ] +[e :U 153 ] +[e :U 152 ] +[e $ != -> . . _OSCCONbits 0 2 `i -> . `E1447 1 `i 153 ] +[e :U 154 ] +"40 +[; ;src/initialisation.c: 40: } +} +[e :U 151 ] +"41 +[; ;src/initialisation.c: 41: } +[e :UE 146 ] +} +"44 +[; ;src/initialisation.c: 44: void init_int(InterruptConfig config) { +[v _init_int `(v ~T0 @X0 1 ef1`S144 ] +{ +[e :U _init_int ] +[v _config `S144 ~T0 @X0 1 r1 ] +[f ] +"46 +[; ;src/initialisation.c: 46: INTCONbits.GIE = config.GIE; +[e = . . _INTCONbits 0 7 -> . _config 0 `uc ] +"48 +[; ;src/initialisation.c: 48: INTCONbits.INTE = config.EINT; +[e = . . _INTCONbits 0 4 -> . _config 1 `uc ] +"51 +[; ;src/initialisation.c: 51: INTCONbits.PEIE = config.PEIE; +[e = . . _INTCONbits 0 6 -> . _config 2 `uc ] +"53 +[; ;src/initialisation.c: 53: INTCONbits.T0IE = config.T0IE; +[e = . . _INTCONbits 0 5 -> . _config 3 `uc ] +"56 +[; ;src/initialisation.c: 56: INTCONbits.RBIE = config.RBIE; +[e = . . _INTCONbits 0 3 -> . _config 4 `uc ] +"59 +[; ;src/initialisation.c: 59: IOCBbits.IOCB4 = 1; +[e = . . _IOCBbits 1 4 -> -> 1 `i `uc ] +"60 +[; ;src/initialisation.c: 60: IOCBbits.IOCB5 = 1; +[e = . . _IOCBbits 1 5 -> -> 1 `i `uc ] +"63 +[; ;src/initialisation.c: 63: OPTION_REGbits.INTEDG = config.INTEDG; +[e = . . _OPTION_REGbits 0 4 -> . _config 5 `uc ] +"66 +[; ;src/initialisation.c: 66: if (INTCONbits.INTE == EINT_ENABLED) { +[e $ ! == -> . . _INTCONbits 0 4 `i -> . `E1474 1 `i 156 ] +{ +"67 +[; ;src/initialisation.c: 67: INTCONbits.INTF = INT_AWAITING; +[e = . . _INTCONbits 0 1 -> . `E1494 0 `uc ] +"68 +[; ;src/initialisation.c: 68: } +} +[e :U 156 ] +"69 +[; ;src/initialisation.c: 69: if (INTCONbits.RBIE == RBINT_ENABLED) { +[e $ ! == -> . . _INTCONbits 0 3 `i -> . `E1486 1 `i 157 ] +{ +"70 +[; ;src/initialisation.c: 70: INTCONbits.RBIF = INT_AWAITING; +[e = . . _INTCONbits 0 0 -> . `E1494 0 `uc ] +"71 +[; ;src/initialisation.c: 71: } +} +[e :U 157 ] +"72 +[; ;src/initialisation.c: 72: if (INTCONbits.T0IE == T0INT_ENABLED) { +[e $ ! == -> . . _INTCONbits 0 5 `i -> . `E1482 1 `i 158 ] +{ +"73 +[; ;src/initialisation.c: 73: INTCONbits.T0IF = INT_AWAITING; +[e = . . _INTCONbits 0 2 -> . `E1494 0 `uc ] +"74 +[; ;src/initialisation.c: 74: } +} +[e :U 158 ] +"75 +[; ;src/initialisation.c: 75: } +[e :UE 155 ] +} +"78 +[; ;src/initialisation.c: 78: void init_adc(ADCConfig config) { +[v _init_adc `(v ~T0 @X0 1 ef1`S145 ] +{ +[e :U _init_adc ] +[v _config `S145 ~T0 @X0 1 r1 ] +[f ] +"79 +[; ;src/initialisation.c: 79: ADCON0bits.ADON = config.ADON; +[e = . . _ADCON0bits 0 0 -> . _config 0 `uc ] +"80 +[; ;src/initialisation.c: 80: ADCON0bits.GO_nDONE = config.GO_nDONE; +[e = . . _ADCON0bits 0 1 -> . _config 6 `uc ] +"81 +[; ;src/initialisation.c: 81: ADCON0bits.CHS = config.CHS; +[e = . . _ADCON0bits 0 2 -> . _config 2 `uc ] +"83 +[; ;src/initialisation.c: 83: ADCON1bits.ADFM = config.ADFM; +[e = . . _ADCON1bits 0 4 -> . _config 1 `uc ] +"84 +[; ;src/initialisation.c: 84: ADCON1bits.VCFG1 = config.VCFG1; +[e = . . _ADCON1bits 0 2 -> . _config 5 `uc ] +"85 +[; ;src/initialisation.c: 85: ADCON1bits.VCFG0 = config.VCFG0; +[e = . . _ADCON1bits 0 1 -> . _config 4 `uc ] +"94 +[; ;src/initialisation.c: 94: } +[e :UE 159 ] +} diff --git a/build/default/debug/src/initialisation.p1.d b/build/default/debug/src/initialisation.p1.d new file mode 100644 index 0000000..0363b01 --- /dev/null +++ b/build/default/debug/src/initialisation.p1.d @@ -0,0 +1,4 @@ +build/default/debug/src/initialisation.p1: \ +src/initialisation.c \ +src/../include/config.h \ +src/../include/initialisation.h diff --git a/build/default/debug/src/main.i b/build/default/debug/src/main.i new file mode 100644 index 0000000..e3a79a8 --- /dev/null +++ b/build/default/debug/src/main.i @@ -0,0 +1,2907 @@ +# 1 "src/main.c" +# 1 "" 1 +# 1 "" 3 +# 288 "" 3 +# 1 "" 1 +# 1 "" 2 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\language_support.h" 1 3 +# 2 "" 2 +# 1 "src/main.c" 2 + + + +# 1 "src/../include/config.h" 1 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 18 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 3 +extern const char __xc8_OPTIM_SPEED; + +extern double __fpnormalize(double); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\musl_xc8.h" 1 3 +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + + + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\features.h" 1 3 +# 11 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 +# 21 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 24 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int wchar_t; +# 128 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned size_t; +# 174 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __int24 int24_t; +# 210 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __uint24 uint24_t; +# 22 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + +int atoi (const char *); +long atol (const char *); + + + +double atof (const char *); + + +float strtof (const char *restrict, char **restrict); +double strtod (const char *restrict, char **restrict); +long double strtold (const char *restrict, char **restrict); + + + +long strtol (const char *restrict, char **restrict, int); +unsigned long strtoul (const char *restrict, char **restrict, int); + + + + + +unsigned long __strtoxl(const char * s, char ** endptr, int base, char is_signed); +# 55 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +int rand (void); +void srand (unsigned); + +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); + + void abort (void); +int atexit (void (*) (void)); + void exit (int); + void _Exit (int); + +void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); + + + + + + + +__attribute__((nonreentrant)) void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); + +int abs (int); +long labs (long); + + + + +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; + + + + +div_t div (int, int); +ldiv_t ldiv (long, long); + + + + +typedef struct { unsigned int quot, rem; } udiv_t; +typedef struct { unsigned long quot, rem; } uldiv_t; +udiv_t udiv (unsigned int, unsigned int); +uldiv_t uldiv (unsigned long, unsigned long); +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 2 3 + + + + + + + +#pragma intrinsic(__builtin_software_breakpoint) +extern void __builtin_software_breakpoint(void); +# 24 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 1 3 +# 26 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 133 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned short uintptr_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef short intptr_t; +# 164 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef signed char int8_t; + + + + +typedef short int16_t; +# 179 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int32_t; +# 192 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef int32_t intmax_t; + + + + + + + +typedef unsigned char uint8_t; + + + + +typedef unsigned short uint16_t; +# 215 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned long uint32_t; +# 233 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef uint32_t uintmax_t; +# 27 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 + +typedef int8_t int_fast8_t; + + + + +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; + +typedef int24_t int_least24_t; +typedef int24_t int_fast24_t; + +typedef int32_t int_least32_t; + + + + +typedef uint8_t uint_fast8_t; + + + + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; + +typedef uint24_t uint_least24_t; +typedef uint24_t uint_fast24_t; + +typedef uint32_t uint_least32_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/stdint.h" 1 3 +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +# 149 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 2 3 + + +#pragma intrinsic(__nop) +extern void __nop(void); + + +#pragma intrinsic(_delay) +extern __attribute__((nonreentrant)) void _delay(uint32_t); +#pragma intrinsic(_delaywdt) +extern __attribute__((nonreentrant)) void _delaywdt(uint32_t); +# 25 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 1 3 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 1 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 2 3 +# 6 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 + + + + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 1 3 +# 724 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 1 3 +# 44 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\__at.h" 1 3 +# 45 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 2 3 + + + + + + + +extern volatile unsigned char INDF __attribute__((address(0x000))); + +__asm("INDF equ 00h"); + + + + +extern volatile unsigned char TMR0 __attribute__((address(0x001))); + +__asm("TMR0 equ 01h"); + + + + +extern volatile unsigned char PCL __attribute__((address(0x002))); + +__asm("PCL equ 02h"); + + + + +extern volatile unsigned char STATUS __attribute__((address(0x003))); + +__asm("STATUS equ 03h"); + + +typedef union { + struct { + unsigned C :1; + unsigned DC :1; + unsigned Z :1; + unsigned nPD :1; + unsigned nTO :1; + unsigned RP :2; + unsigned IRP :1; + }; + struct { + unsigned :5; + unsigned RP0 :1; + unsigned RP1 :1; + }; + struct { + unsigned CARRY :1; + unsigned :1; + unsigned ZERO :1; + }; +} STATUSbits_t; +extern volatile STATUSbits_t STATUSbits __attribute__((address(0x003))); +# 159 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char FSR __attribute__((address(0x004))); + +__asm("FSR equ 04h"); + + + + +extern volatile unsigned char PORTA __attribute__((address(0x005))); + +__asm("PORTA equ 05h"); + + +typedef union { + struct { + unsigned RA0 :1; + unsigned RA1 :1; + unsigned RA2 :1; + unsigned RA3 :1; + unsigned RA4 :1; + unsigned RA5 :1; + unsigned RA6 :1; + unsigned RA7 :1; + }; +} PORTAbits_t; +extern volatile PORTAbits_t PORTAbits __attribute__((address(0x005))); +# 228 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTB __attribute__((address(0x006))); + +__asm("PORTB equ 06h"); + + +typedef union { + struct { + unsigned RB0 :1; + unsigned RB1 :1; + unsigned RB2 :1; + unsigned RB3 :1; + unsigned RB4 :1; + unsigned RB5 :1; + unsigned RB6 :1; + unsigned RB7 :1; + }; +} PORTBbits_t; +extern volatile PORTBbits_t PORTBbits __attribute__((address(0x006))); +# 290 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTC __attribute__((address(0x007))); + +__asm("PORTC equ 07h"); + + +typedef union { + struct { + unsigned RC0 :1; + unsigned RC1 :1; + unsigned RC2 :1; + unsigned RC3 :1; + unsigned RC4 :1; + unsigned RC5 :1; + unsigned RC6 :1; + unsigned RC7 :1; + }; +} PORTCbits_t; +extern volatile PORTCbits_t PORTCbits __attribute__((address(0x007))); +# 352 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTD __attribute__((address(0x008))); + +__asm("PORTD equ 08h"); + + +typedef union { + struct { + unsigned RD0 :1; + unsigned RD1 :1; + unsigned RD2 :1; + unsigned RD3 :1; + unsigned RD4 :1; + unsigned RD5 :1; + unsigned RD6 :1; + unsigned RD7 :1; + }; +} PORTDbits_t; +extern volatile PORTDbits_t PORTDbits __attribute__((address(0x008))); +# 414 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTE __attribute__((address(0x009))); + +__asm("PORTE equ 09h"); + + +typedef union { + struct { + unsigned RE0 :1; + unsigned RE1 :1; + unsigned RE2 :1; + unsigned RE3 :1; + }; +} PORTEbits_t; +extern volatile PORTEbits_t PORTEbits __attribute__((address(0x009))); +# 452 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCLATH __attribute__((address(0x00A))); + +__asm("PCLATH equ 0Ah"); + + + + +extern volatile unsigned char INTCON __attribute__((address(0x00B))); + +__asm("INTCON equ 0Bh"); + + +typedef union { + struct { + unsigned RBIF :1; + unsigned INTF :1; + unsigned T0IF :1; + unsigned RBIE :1; + unsigned INTE :1; + unsigned T0IE :1; + unsigned PEIE :1; + unsigned GIE :1; + }; + struct { + unsigned :2; + unsigned TMR0IF :1; + unsigned :2; + unsigned TMR0IE :1; + }; +} INTCONbits_t; +extern volatile INTCONbits_t INTCONbits __attribute__((address(0x00B))); +# 537 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR1 __attribute__((address(0x00C))); + +__asm("PIR1 equ 0Ch"); + + +typedef union { + struct { + unsigned TMR1IF :1; + unsigned TMR2IF :1; + unsigned CCP1IF :1; + unsigned SSPIF :1; + unsigned TXIF :1; + unsigned RCIF :1; + unsigned ADIF :1; + }; +} PIR1bits_t; +extern volatile PIR1bits_t PIR1bits __attribute__((address(0x00C))); +# 593 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR2 __attribute__((address(0x00D))); + +__asm("PIR2 equ 0Dh"); + + +typedef union { + struct { + unsigned CCP2IF :1; + unsigned :1; + unsigned ULPWUIF :1; + unsigned BCLIF :1; + unsigned EEIF :1; + unsigned C1IF :1; + unsigned C2IF :1; + unsigned OSFIF :1; + }; +} PIR2bits_t; +extern volatile PIR2bits_t PIR2bits __attribute__((address(0x00D))); +# 650 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short TMR1 __attribute__((address(0x00E))); + +__asm("TMR1 equ 0Eh"); + + + + +extern volatile unsigned char TMR1L __attribute__((address(0x00E))); + +__asm("TMR1L equ 0Eh"); + + + + +extern volatile unsigned char TMR1H __attribute__((address(0x00F))); + +__asm("TMR1H equ 0Fh"); + + + + +extern volatile unsigned char T1CON __attribute__((address(0x010))); + +__asm("T1CON equ 010h"); + + +typedef union { + struct { + unsigned TMR1ON :1; + unsigned TMR1CS :1; + unsigned nT1SYNC :1; + unsigned T1OSCEN :1; + unsigned T1CKPS :2; + unsigned TMR1GE :1; + unsigned T1GINV :1; + }; + struct { + unsigned :2; + unsigned T1INSYNC :1; + unsigned :1; + unsigned T1CKPS0 :1; + unsigned T1CKPS1 :1; + unsigned :1; + unsigned T1GIV :1; + }; + struct { + unsigned :2; + unsigned T1SYNC :1; + }; +} T1CONbits_t; +extern volatile T1CONbits_t T1CONbits __attribute__((address(0x010))); +# 765 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TMR2 __attribute__((address(0x011))); + +__asm("TMR2 equ 011h"); + + + + +extern volatile unsigned char T2CON __attribute__((address(0x012))); + +__asm("T2CON equ 012h"); + + +typedef union { + struct { + unsigned T2CKPS :2; + unsigned TMR2ON :1; + unsigned TOUTPS :4; + }; + struct { + unsigned T2CKPS0 :1; + unsigned T2CKPS1 :1; + unsigned :1; + unsigned TOUTPS0 :1; + unsigned TOUTPS1 :1; + unsigned TOUTPS2 :1; + unsigned TOUTPS3 :1; + }; +} T2CONbits_t; +extern volatile T2CONbits_t T2CONbits __attribute__((address(0x012))); +# 843 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPBUF __attribute__((address(0x013))); + +__asm("SSPBUF equ 013h"); + + + + +extern volatile unsigned char SSPCON __attribute__((address(0x014))); + +__asm("SSPCON equ 014h"); + + +typedef union { + struct { + unsigned SSPM :4; + unsigned CKP :1; + unsigned SSPEN :1; + unsigned SSPOV :1; + unsigned WCOL :1; + }; + struct { + unsigned SSPM0 :1; + unsigned SSPM1 :1; + unsigned SSPM2 :1; + unsigned SSPM3 :1; + }; +} SSPCONbits_t; +extern volatile SSPCONbits_t SSPCONbits __attribute__((address(0x014))); +# 920 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short CCPR1 __attribute__((address(0x015))); + +__asm("CCPR1 equ 015h"); + + + + +extern volatile unsigned char CCPR1L __attribute__((address(0x015))); + +__asm("CCPR1L equ 015h"); + + + + +extern volatile unsigned char CCPR1H __attribute__((address(0x016))); + +__asm("CCPR1H equ 016h"); + + + + +extern volatile unsigned char CCP1CON __attribute__((address(0x017))); + +__asm("CCP1CON equ 017h"); + + +typedef union { + struct { + unsigned CCP1M :4; + unsigned DC1B :2; + unsigned P1M :2; + }; + struct { + unsigned CCP1M0 :1; + unsigned CCP1M1 :1; + unsigned CCP1M2 :1; + unsigned CCP1M3 :1; + unsigned DC1B0 :1; + unsigned DC1B1 :1; + unsigned P1M0 :1; + unsigned P1M1 :1; + }; + struct { + unsigned :4; + unsigned CCP1Y :1; + unsigned CCP1X :1; + }; +} CCP1CONbits_t; +extern volatile CCP1CONbits_t CCP1CONbits __attribute__((address(0x017))); +# 1038 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char RCSTA __attribute__((address(0x018))); + +__asm("RCSTA equ 018h"); + + +typedef union { + struct { + unsigned RX9D :1; + unsigned OERR :1; + unsigned FERR :1; + unsigned ADDEN :1; + unsigned CREN :1; + unsigned SREN :1; + unsigned RX9 :1; + unsigned SPEN :1; + }; + struct { + unsigned RCD8 :1; + unsigned :5; + unsigned RC9 :1; + }; + struct { + unsigned :6; + unsigned nRC8 :1; + }; + struct { + unsigned :6; + unsigned RC8_9 :1; + }; +} RCSTAbits_t; +extern volatile RCSTAbits_t RCSTAbits __attribute__((address(0x018))); +# 1133 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXREG __attribute__((address(0x019))); + +__asm("TXREG equ 019h"); + + + + +extern volatile unsigned char RCREG __attribute__((address(0x01A))); + +__asm("RCREG equ 01Ah"); + + + + +extern volatile unsigned short CCPR2 __attribute__((address(0x01B))); + +__asm("CCPR2 equ 01Bh"); + + + + +extern volatile unsigned char CCPR2L __attribute__((address(0x01B))); + +__asm("CCPR2L equ 01Bh"); + + + + +extern volatile unsigned char CCPR2H __attribute__((address(0x01C))); + +__asm("CCPR2H equ 01Ch"); + + + + +extern volatile unsigned char CCP2CON __attribute__((address(0x01D))); + +__asm("CCP2CON equ 01Dh"); + + +typedef union { + struct { + unsigned CCP2M :4; + unsigned DC2B0 :1; + unsigned DC2B1 :1; + }; + struct { + unsigned CCP2M0 :1; + unsigned CCP2M1 :1; + unsigned CCP2M2 :1; + unsigned CCP2M3 :1; + unsigned CCP2Y :1; + unsigned CCP2X :1; + }; +} CCP2CONbits_t; +extern volatile CCP2CONbits_t CCP2CONbits __attribute__((address(0x01D))); +# 1238 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESH __attribute__((address(0x01E))); + +__asm("ADRESH equ 01Eh"); + + + + +extern volatile unsigned char ADCON0 __attribute__((address(0x01F))); + +__asm("ADCON0 equ 01Fh"); + + +typedef union { + struct { + unsigned ADON :1; + unsigned GO_nDONE :1; + unsigned CHS :4; + unsigned ADCS :2; + }; + struct { + unsigned :1; + unsigned GO :1; + unsigned CHS0 :1; + unsigned CHS1 :1; + unsigned CHS2 :1; + unsigned CHS3 :1; + unsigned ADCS0 :1; + unsigned ADCS1 :1; + }; + struct { + unsigned :1; + unsigned nDONE :1; + }; + struct { + unsigned :1; + unsigned GO_DONE :1; + }; +} ADCON0bits_t; +extern volatile ADCON0bits_t ADCON0bits __attribute__((address(0x01F))); +# 1346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OPTION_REG __attribute__((address(0x081))); + +__asm("OPTION_REG equ 081h"); + + +typedef union { + struct { + unsigned PS :3; + unsigned PSA :1; + unsigned T0SE :1; + unsigned T0CS :1; + unsigned INTEDG :1; + unsigned nRBPU :1; + }; + struct { + unsigned PS0 :1; + unsigned PS1 :1; + unsigned PS2 :1; + }; +} OPTION_REGbits_t; +extern volatile OPTION_REGbits_t OPTION_REGbits __attribute__((address(0x081))); +# 1416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISA __attribute__((address(0x085))); + +__asm("TRISA equ 085h"); + + +typedef union { + struct { + unsigned TRISA0 :1; + unsigned TRISA1 :1; + unsigned TRISA2 :1; + unsigned TRISA3 :1; + unsigned TRISA4 :1; + unsigned TRISA5 :1; + unsigned TRISA6 :1; + unsigned TRISA7 :1; + }; +} TRISAbits_t; +extern volatile TRISAbits_t TRISAbits __attribute__((address(0x085))); +# 1478 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISB __attribute__((address(0x086))); + +__asm("TRISB equ 086h"); + + +typedef union { + struct { + unsigned TRISB0 :1; + unsigned TRISB1 :1; + unsigned TRISB2 :1; + unsigned TRISB3 :1; + unsigned TRISB4 :1; + unsigned TRISB5 :1; + unsigned TRISB6 :1; + unsigned TRISB7 :1; + }; +} TRISBbits_t; +extern volatile TRISBbits_t TRISBbits __attribute__((address(0x086))); +# 1540 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISC __attribute__((address(0x087))); + +__asm("TRISC equ 087h"); + + +typedef union { + struct { + unsigned TRISC0 :1; + unsigned TRISC1 :1; + unsigned TRISC2 :1; + unsigned TRISC3 :1; + unsigned TRISC4 :1; + unsigned TRISC5 :1; + unsigned TRISC6 :1; + unsigned TRISC7 :1; + }; +} TRISCbits_t; +extern volatile TRISCbits_t TRISCbits __attribute__((address(0x087))); +# 1602 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISD __attribute__((address(0x088))); + +__asm("TRISD equ 088h"); + + +typedef union { + struct { + unsigned TRISD0 :1; + unsigned TRISD1 :1; + unsigned TRISD2 :1; + unsigned TRISD3 :1; + unsigned TRISD4 :1; + unsigned TRISD5 :1; + unsigned TRISD6 :1; + unsigned TRISD7 :1; + }; +} TRISDbits_t; +extern volatile TRISDbits_t TRISDbits __attribute__((address(0x088))); +# 1664 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISE __attribute__((address(0x089))); + +__asm("TRISE equ 089h"); + + +typedef union { + struct { + unsigned TRISE0 :1; + unsigned TRISE1 :1; + unsigned TRISE2 :1; + unsigned TRISE3 :1; + }; +} TRISEbits_t; +extern volatile TRISEbits_t TRISEbits __attribute__((address(0x089))); +# 1702 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE1 __attribute__((address(0x08C))); + +__asm("PIE1 equ 08Ch"); + + +typedef union { + struct { + unsigned TMR1IE :1; + unsigned TMR2IE :1; + unsigned CCP1IE :1; + unsigned SSPIE :1; + unsigned TXIE :1; + unsigned RCIE :1; + unsigned ADIE :1; + }; +} PIE1bits_t; +extern volatile PIE1bits_t PIE1bits __attribute__((address(0x08C))); +# 1758 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE2 __attribute__((address(0x08D))); + +__asm("PIE2 equ 08Dh"); + + +typedef union { + struct { + unsigned CCP2IE :1; + unsigned :1; + unsigned ULPWUIE :1; + unsigned BCLIE :1; + unsigned EEIE :1; + unsigned C1IE :1; + unsigned C2IE :1; + unsigned OSFIE :1; + }; +} PIE2bits_t; +extern volatile PIE2bits_t PIE2bits __attribute__((address(0x08D))); +# 1815 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCON __attribute__((address(0x08E))); + +__asm("PCON equ 08Eh"); + + +typedef union { + struct { + unsigned nBOR :1; + unsigned nPOR :1; + unsigned :2; + unsigned SBOREN :1; + unsigned ULPWUE :1; + }; + struct { + unsigned nBO :1; + }; +} PCONbits_t; +extern volatile PCONbits_t PCONbits __attribute__((address(0x08E))); +# 1862 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCCON __attribute__((address(0x08F))); + +__asm("OSCCON equ 08Fh"); + + +typedef union { + struct { + unsigned SCS :1; + unsigned LTS :1; + unsigned HTS :1; + unsigned OSTS :1; + unsigned IRCF :3; + }; + struct { + unsigned :4; + unsigned IRCF0 :1; + unsigned IRCF1 :1; + unsigned IRCF2 :1; + }; +} OSCCONbits_t; +extern volatile OSCCONbits_t OSCCONbits __attribute__((address(0x08F))); +# 1927 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCTUNE __attribute__((address(0x090))); + +__asm("OSCTUNE equ 090h"); + + +typedef union { + struct { + unsigned TUN :5; + }; + struct { + unsigned TUN0 :1; + unsigned TUN1 :1; + unsigned TUN2 :1; + unsigned TUN3 :1; + unsigned TUN4 :1; + }; +} OSCTUNEbits_t; +extern volatile OSCTUNEbits_t OSCTUNEbits __attribute__((address(0x090))); +# 1979 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPCON2 __attribute__((address(0x091))); + +__asm("SSPCON2 equ 091h"); + + +typedef union { + struct { + unsigned SEN :1; + unsigned RSEN :1; + unsigned PEN :1; + unsigned RCEN :1; + unsigned ACKEN :1; + unsigned ACKDT :1; + unsigned ACKSTAT :1; + unsigned GCEN :1; + }; +} SSPCON2bits_t; +extern volatile SSPCON2bits_t SSPCON2bits __attribute__((address(0x091))); +# 2041 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PR2 __attribute__((address(0x092))); + +__asm("PR2 equ 092h"); + + + + +extern volatile unsigned char SSPADD __attribute__((address(0x093))); + +__asm("SSPADD equ 093h"); + + + + +extern volatile unsigned char SSPMSK __attribute__((address(0x093))); + +__asm("SSPMSK equ 093h"); + + +extern volatile unsigned char MSK __attribute__((address(0x093))); + +__asm("MSK equ 093h"); + + +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} SSPMSKbits_t; +extern volatile SSPMSKbits_t SSPMSKbits __attribute__((address(0x093))); +# 2120 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} MSKbits_t; +extern volatile MSKbits_t MSKbits __attribute__((address(0x093))); +# 2177 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPSTAT __attribute__((address(0x094))); + +__asm("SSPSTAT equ 094h"); + + +typedef union { + struct { + unsigned BF :1; + unsigned UA :1; + unsigned R_nW :1; + unsigned S :1; + unsigned P :1; + unsigned D_nA :1; + unsigned CKE :1; + unsigned SMP :1; + }; + struct { + unsigned :2; + unsigned R :1; + unsigned :2; + unsigned D :1; + }; + struct { + unsigned :2; + unsigned I2C_READ :1; + unsigned I2C_START :1; + unsigned I2C_STOP :1; + unsigned I2C_DATA :1; + }; + struct { + unsigned :2; + unsigned nW :1; + unsigned :2; + unsigned nA :1; + }; + struct { + unsigned :2; + unsigned nWRITE :1; + unsigned :2; + unsigned nADDRESS :1; + }; + struct { + unsigned :2; + unsigned R_W :1; + unsigned :2; + unsigned D_A :1; + }; + struct { + unsigned :2; + unsigned READ_WRITE :1; + unsigned :2; + unsigned DATA_ADDRESS :1; + }; +} SSPSTATbits_t; +extern volatile SSPSTATbits_t SSPSTATbits __attribute__((address(0x094))); +# 2346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WPUB __attribute__((address(0x095))); + +__asm("WPUB equ 095h"); + + +typedef union { + struct { + unsigned WPUB :8; + }; + struct { + unsigned WPUB0 :1; + unsigned WPUB1 :1; + unsigned WPUB2 :1; + unsigned WPUB3 :1; + unsigned WPUB4 :1; + unsigned WPUB5 :1; + unsigned WPUB6 :1; + unsigned WPUB7 :1; + }; +} WPUBbits_t; +extern volatile WPUBbits_t WPUBbits __attribute__((address(0x095))); +# 2416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char IOCB __attribute__((address(0x096))); + +__asm("IOCB equ 096h"); + + +typedef union { + struct { + unsigned IOCB :8; + }; + struct { + unsigned IOCB0 :1; + unsigned IOCB1 :1; + unsigned IOCB2 :1; + unsigned IOCB3 :1; + unsigned IOCB4 :1; + unsigned IOCB5 :1; + unsigned IOCB6 :1; + unsigned IOCB7 :1; + }; +} IOCBbits_t; +extern volatile IOCBbits_t IOCBbits __attribute__((address(0x096))); +# 2486 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char VRCON __attribute__((address(0x097))); + +__asm("VRCON equ 097h"); + + +typedef union { + struct { + unsigned VR :4; + unsigned VRSS :1; + unsigned VRR :1; + unsigned VROE :1; + unsigned VREN :1; + }; + struct { + unsigned VR0 :1; + unsigned VR1 :1; + unsigned VR2 :1; + unsigned VR3 :1; + }; +} VRCONbits_t; +extern volatile VRCONbits_t VRCONbits __attribute__((address(0x097))); +# 2556 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXSTA __attribute__((address(0x098))); + +__asm("TXSTA equ 098h"); + + +typedef union { + struct { + unsigned TX9D :1; + unsigned TRMT :1; + unsigned BRGH :1; + unsigned SENDB :1; + unsigned SYNC :1; + unsigned TXEN :1; + unsigned TX9 :1; + unsigned CSRC :1; + }; + struct { + unsigned TXD8 :1; + unsigned :5; + unsigned nTX8 :1; + }; + struct { + unsigned :6; + unsigned TX8_9 :1; + }; +} TXSTAbits_t; +extern volatile TXSTAbits_t TXSTAbits __attribute__((address(0x098))); +# 2642 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRG __attribute__((address(0x099))); + +__asm("SPBRG equ 099h"); + + +typedef union { + struct { + unsigned BRG0 :1; + unsigned BRG1 :1; + unsigned BRG2 :1; + unsigned BRG3 :1; + unsigned BRG4 :1; + unsigned BRG5 :1; + unsigned BRG6 :1; + unsigned BRG7 :1; + }; +} SPBRGbits_t; +extern volatile SPBRGbits_t SPBRGbits __attribute__((address(0x099))); +# 2704 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRGH __attribute__((address(0x09A))); + +__asm("SPBRGH equ 09Ah"); + + +typedef union { + struct { + unsigned SPBRGH :8; + }; + struct { + unsigned BRG8 :1; + unsigned BRG9 :1; + unsigned BRG10 :1; + unsigned BRG11 :1; + unsigned BRG12 :1; + unsigned BRG13 :1; + unsigned BRG14 :1; + unsigned BRG15 :1; + }; +} SPBRGHbits_t; +extern volatile SPBRGHbits_t SPBRGHbits __attribute__((address(0x09A))); +# 2774 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PWM1CON __attribute__((address(0x09B))); + +__asm("PWM1CON equ 09Bh"); + + +typedef union { + struct { + unsigned PDC :7; + unsigned PRSEN :1; + }; + struct { + unsigned PDC0 :1; + unsigned PDC1 :1; + unsigned PDC2 :1; + unsigned PDC3 :1; + unsigned PDC4 :1; + unsigned PDC5 :1; + unsigned PDC6 :1; + }; +} PWM1CONbits_t; +extern volatile PWM1CONbits_t PWM1CONbits __attribute__((address(0x09B))); +# 2844 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ECCPAS __attribute__((address(0x09C))); + +__asm("ECCPAS equ 09Ch"); + + +typedef union { + struct { + unsigned PSSBD :2; + unsigned PSSAC :2; + unsigned ECCPAS :3; + unsigned ECCPASE :1; + }; + struct { + unsigned PSSBD0 :1; + unsigned PSSBD1 :1; + unsigned PSSAC0 :1; + unsigned PSSAC1 :1; + unsigned ECCPAS0 :1; + unsigned ECCPAS1 :1; + unsigned ECCPAS2 :1; + }; +} ECCPASbits_t; +extern volatile ECCPASbits_t ECCPASbits __attribute__((address(0x09C))); +# 2926 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PSTRCON __attribute__((address(0x09D))); + +__asm("PSTRCON equ 09Dh"); + + +typedef union { + struct { + unsigned STRA :1; + unsigned STRB :1; + unsigned STRC :1; + unsigned STRD :1; + unsigned STRSYNC :1; + }; +} PSTRCONbits_t; +extern volatile PSTRCONbits_t PSTRCONbits __attribute__((address(0x09D))); +# 2970 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESL __attribute__((address(0x09E))); + +__asm("ADRESL equ 09Eh"); + + + + +extern volatile unsigned char ADCON1 __attribute__((address(0x09F))); + +__asm("ADCON1 equ 09Fh"); + + +typedef union { + struct { + unsigned :4; + unsigned VCFG0 :1; + unsigned VCFG1 :1; + unsigned :1; + unsigned ADFM :1; + }; +} ADCON1bits_t; +extern volatile ADCON1bits_t ADCON1bits __attribute__((address(0x09F))); +# 3011 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WDTCON __attribute__((address(0x105))); + +__asm("WDTCON equ 0105h"); + + +typedef union { + struct { + unsigned SWDTEN :1; + unsigned WDTPS :4; + }; + struct { + unsigned :1; + unsigned WDTPS0 :1; + unsigned WDTPS1 :1; + unsigned WDTPS2 :1; + unsigned WDTPS3 :1; + }; +} WDTCONbits_t; +extern volatile WDTCONbits_t WDTCONbits __attribute__((address(0x105))); +# 3064 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM1CON0 __attribute__((address(0x107))); + +__asm("CM1CON0 equ 0107h"); + + +typedef union { + struct { + unsigned C1CH :2; + unsigned C1R :1; + unsigned :1; + unsigned C1POL :1; + unsigned C1OE :1; + unsigned C1OUT :1; + unsigned C1ON :1; + }; + struct { + unsigned C1CH0 :1; + unsigned C1CH1 :1; + }; +} CM1CON0bits_t; +extern volatile CM1CON0bits_t CM1CON0bits __attribute__((address(0x107))); +# 3129 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON0 __attribute__((address(0x108))); + +__asm("CM2CON0 equ 0108h"); + + +typedef union { + struct { + unsigned C2CH :2; + unsigned C2R :1; + unsigned :1; + unsigned C2POL :1; + unsigned C2OE :1; + unsigned C2OUT :1; + unsigned C2ON :1; + }; + struct { + unsigned C2CH0 :1; + unsigned C2CH1 :1; + }; +} CM2CON0bits_t; +extern volatile CM2CON0bits_t CM2CON0bits __attribute__((address(0x108))); +# 3194 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON1 __attribute__((address(0x109))); + +__asm("CM2CON1 equ 0109h"); + + +typedef union { + struct { + unsigned C2SYNC :1; + unsigned T1GSS :1; + unsigned :2; + unsigned C2RSEL :1; + unsigned C1RSEL :1; + unsigned MC2OUT :1; + unsigned MC1OUT :1; + }; +} CM2CON1bits_t; +extern volatile CM2CON1bits_t CM2CON1bits __attribute__((address(0x109))); +# 3245 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EEDATA __attribute__((address(0x10C))); + +__asm("EEDATA equ 010Ch"); + + +extern volatile unsigned char EEDAT __attribute__((address(0x10C))); + +__asm("EEDAT equ 010Ch"); + + + + +extern volatile unsigned char EEADR __attribute__((address(0x10D))); + +__asm("EEADR equ 010Dh"); + + + + +extern volatile unsigned char EEDATH __attribute__((address(0x10E))); + +__asm("EEDATH equ 010Eh"); + + + + +extern volatile unsigned char EEADRH __attribute__((address(0x10F))); + +__asm("EEADRH equ 010Fh"); + + + + +extern volatile unsigned char SRCON __attribute__((address(0x185))); + +__asm("SRCON equ 0185h"); + + +typedef union { + struct { + unsigned FVREN :1; + unsigned :1; + unsigned PULSR :1; + unsigned PULSS :1; + unsigned C2REN :1; + unsigned C1SEN :1; + unsigned SR0 :1; + unsigned SR1 :1; + }; +} SRCONbits_t; +extern volatile SRCONbits_t SRCONbits __attribute__((address(0x185))); +# 3335 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char BAUDCTL __attribute__((address(0x187))); + +__asm("BAUDCTL equ 0187h"); + + +typedef union { + struct { + unsigned ABDEN :1; + unsigned WUE :1; + unsigned :1; + unsigned BRG16 :1; + unsigned SCKP :1; + unsigned :1; + unsigned RCIDL :1; + unsigned ABDOVF :1; + }; +} BAUDCTLbits_t; +extern volatile BAUDCTLbits_t BAUDCTLbits __attribute__((address(0x187))); +# 3387 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSEL __attribute__((address(0x188))); + +__asm("ANSEL equ 0188h"); + + +typedef union { + struct { + unsigned ANS0 :1; + unsigned ANS1 :1; + unsigned ANS2 :1; + unsigned ANS3 :1; + unsigned ANS4 :1; + unsigned ANS5 :1; + unsigned ANS6 :1; + unsigned ANS7 :1; + }; +} ANSELbits_t; +extern volatile ANSELbits_t ANSELbits __attribute__((address(0x188))); +# 3449 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSELH __attribute__((address(0x189))); + +__asm("ANSELH equ 0189h"); + + +typedef union { + struct { + unsigned ANS8 :1; + unsigned ANS9 :1; + unsigned ANS10 :1; + unsigned ANS11 :1; + unsigned ANS12 :1; + unsigned ANS13 :1; + }; +} ANSELHbits_t; +extern volatile ANSELHbits_t ANSELHbits __attribute__((address(0x189))); +# 3499 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON1 __attribute__((address(0x18C))); + +__asm("EECON1 equ 018Ch"); + + +typedef union { + struct { + unsigned RD :1; + unsigned WR :1; + unsigned WREN :1; + unsigned WRERR :1; + unsigned :3; + unsigned EEPGD :1; + }; +} EECON1bits_t; +extern volatile EECON1bits_t EECON1bits __attribute__((address(0x18C))); +# 3544 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON2 __attribute__((address(0x18D))); + +__asm("EECON2 equ 018Dh"); +# 3561 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile __bit ABDEN __attribute__((address(0xC38))); + + +extern volatile __bit ABDOVF __attribute__((address(0xC3F))); + + +extern volatile __bit ACKDT __attribute__((address(0x48D))); + + +extern volatile __bit ACKEN __attribute__((address(0x48C))); + + +extern volatile __bit ACKSTAT __attribute__((address(0x48E))); + + +extern volatile __bit ADCS0 __attribute__((address(0xFE))); + + +extern volatile __bit ADCS1 __attribute__((address(0xFF))); + + +extern volatile __bit ADDEN __attribute__((address(0xC3))); + + +extern volatile __bit ADFM __attribute__((address(0x4FF))); + + +extern volatile __bit ADIE __attribute__((address(0x466))); + + +extern volatile __bit ADIF __attribute__((address(0x66))); + + +extern volatile __bit ADON __attribute__((address(0xF8))); + + +extern volatile __bit ANS0 __attribute__((address(0xC40))); + + +extern volatile __bit ANS1 __attribute__((address(0xC41))); + + +extern volatile __bit ANS10 __attribute__((address(0xC4A))); + + +extern volatile __bit ANS11 __attribute__((address(0xC4B))); + + +extern volatile __bit ANS12 __attribute__((address(0xC4C))); + + +extern volatile __bit ANS13 __attribute__((address(0xC4D))); + + +extern volatile __bit ANS2 __attribute__((address(0xC42))); + + +extern volatile __bit ANS3 __attribute__((address(0xC43))); + + +extern volatile __bit ANS4 __attribute__((address(0xC44))); + + +extern volatile __bit ANS5 __attribute__((address(0xC45))); + + +extern volatile __bit ANS6 __attribute__((address(0xC46))); + + +extern volatile __bit ANS7 __attribute__((address(0xC47))); + + +extern volatile __bit ANS8 __attribute__((address(0xC48))); + + +extern volatile __bit ANS9 __attribute__((address(0xC49))); + + +extern volatile __bit BCLIE __attribute__((address(0x46B))); + + +extern volatile __bit BCLIF __attribute__((address(0x6B))); + + +extern volatile __bit BF __attribute__((address(0x4A0))); + + +extern volatile __bit BRG0 __attribute__((address(0x4C8))); + + +extern volatile __bit BRG1 __attribute__((address(0x4C9))); + + +extern volatile __bit BRG10 __attribute__((address(0x4D2))); + + +extern volatile __bit BRG11 __attribute__((address(0x4D3))); + + +extern volatile __bit BRG12 __attribute__((address(0x4D4))); + + +extern volatile __bit BRG13 __attribute__((address(0x4D5))); + + +extern volatile __bit BRG14 __attribute__((address(0x4D6))); + + +extern volatile __bit BRG15 __attribute__((address(0x4D7))); + + +extern volatile __bit BRG16 __attribute__((address(0xC3B))); + + +extern volatile __bit BRG2 __attribute__((address(0x4CA))); + + +extern volatile __bit BRG3 __attribute__((address(0x4CB))); + + +extern volatile __bit BRG4 __attribute__((address(0x4CC))); + + +extern volatile __bit BRG5 __attribute__((address(0x4CD))); + + +extern volatile __bit BRG6 __attribute__((address(0x4CE))); + + +extern volatile __bit BRG7 __attribute__((address(0x4CF))); + + +extern volatile __bit BRG8 __attribute__((address(0x4D0))); + + +extern volatile __bit BRG9 __attribute__((address(0x4D1))); + + +extern volatile __bit BRGH __attribute__((address(0x4C2))); + + +extern volatile __bit C1CH0 __attribute__((address(0x838))); + + +extern volatile __bit C1CH1 __attribute__((address(0x839))); + + +extern volatile __bit C1IE __attribute__((address(0x46D))); + + +extern volatile __bit C1IF __attribute__((address(0x6D))); + + +extern volatile __bit C1OE __attribute__((address(0x83D))); + + +extern volatile __bit C1ON __attribute__((address(0x83F))); + + +extern volatile __bit C1OUT __attribute__((address(0x83E))); + + +extern volatile __bit C1POL __attribute__((address(0x83C))); + + +extern volatile __bit C1R __attribute__((address(0x83A))); + + +extern volatile __bit C1RSEL __attribute__((address(0x84D))); + + +extern volatile __bit C1SEN __attribute__((address(0xC2D))); + + +extern volatile __bit C2CH0 __attribute__((address(0x840))); + + +extern volatile __bit C2CH1 __attribute__((address(0x841))); + + +extern volatile __bit C2IE __attribute__((address(0x46E))); + + +extern volatile __bit C2IF __attribute__((address(0x6E))); + + +extern volatile __bit C2OE __attribute__((address(0x845))); + + +extern volatile __bit C2ON __attribute__((address(0x847))); + + +extern volatile __bit C2OUT __attribute__((address(0x846))); + + +extern volatile __bit C2POL __attribute__((address(0x844))); + + +extern volatile __bit C2R __attribute__((address(0x842))); + + +extern volatile __bit C2REN __attribute__((address(0xC2C))); + + +extern volatile __bit C2RSEL __attribute__((address(0x84C))); + + +extern volatile __bit C2SYNC __attribute__((address(0x848))); + + +extern volatile __bit CARRY __attribute__((address(0x18))); + + +extern volatile __bit CCP1IE __attribute__((address(0x462))); + + +extern volatile __bit CCP1IF __attribute__((address(0x62))); + + +extern volatile __bit CCP1M0 __attribute__((address(0xB8))); + + +extern volatile __bit CCP1M1 __attribute__((address(0xB9))); + + +extern volatile __bit CCP1M2 __attribute__((address(0xBA))); + + +extern volatile __bit CCP1M3 __attribute__((address(0xBB))); + + +extern volatile __bit CCP1X __attribute__((address(0xBD))); + + +extern volatile __bit CCP1Y __attribute__((address(0xBC))); + + +extern volatile __bit CCP2IE __attribute__((address(0x468))); + + +extern volatile __bit CCP2IF __attribute__((address(0x68))); + + +extern volatile __bit CCP2M0 __attribute__((address(0xE8))); + + +extern volatile __bit CCP2M1 __attribute__((address(0xE9))); + + +extern volatile __bit CCP2M2 __attribute__((address(0xEA))); + + +extern volatile __bit CCP2M3 __attribute__((address(0xEB))); + + +extern volatile __bit CCP2X __attribute__((address(0xED))); + + +extern volatile __bit CCP2Y __attribute__((address(0xEC))); + + +extern volatile __bit CHS0 __attribute__((address(0xFA))); + + +extern volatile __bit CHS1 __attribute__((address(0xFB))); + + +extern volatile __bit CHS2 __attribute__((address(0xFC))); + + +extern volatile __bit CHS3 __attribute__((address(0xFD))); + + +extern volatile __bit CKE __attribute__((address(0x4A6))); + + +extern volatile __bit CKP __attribute__((address(0xA4))); + + +extern volatile __bit CREN __attribute__((address(0xC4))); + + +extern volatile __bit CSRC __attribute__((address(0x4C7))); + + +extern volatile __bit DATA_ADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit DC __attribute__((address(0x19))); + + +extern volatile __bit DC1B0 __attribute__((address(0xBC))); + + +extern volatile __bit DC1B1 __attribute__((address(0xBD))); + + +extern volatile __bit DC2B0 __attribute__((address(0xEC))); + + +extern volatile __bit DC2B1 __attribute__((address(0xED))); + + +extern volatile __bit D_A __attribute__((address(0x4A5))); + + +extern volatile __bit D_nA __attribute__((address(0x4A5))); + + +extern volatile __bit ECCPAS0 __attribute__((address(0x4E4))); + + +extern volatile __bit ECCPAS1 __attribute__((address(0x4E5))); + + +extern volatile __bit ECCPAS2 __attribute__((address(0x4E6))); + + +extern volatile __bit ECCPASE __attribute__((address(0x4E7))); + + +extern volatile __bit EEIE __attribute__((address(0x46C))); + + +extern volatile __bit EEIF __attribute__((address(0x6C))); + + +extern volatile __bit EEPGD __attribute__((address(0xC67))); + + +extern volatile __bit FERR __attribute__((address(0xC2))); + + +extern volatile __bit FVREN __attribute__((address(0xC28))); + + +extern volatile __bit GCEN __attribute__((address(0x48F))); + + +extern volatile __bit GIE __attribute__((address(0x5F))); + + +extern volatile __bit GO __attribute__((address(0xF9))); + + +extern volatile __bit GO_DONE __attribute__((address(0xF9))); + + +extern volatile __bit GO_nDONE __attribute__((address(0xF9))); + + +extern volatile __bit HTS __attribute__((address(0x47A))); + + +extern volatile __bit I2C_DATA __attribute__((address(0x4A5))); + + +extern volatile __bit I2C_READ __attribute__((address(0x4A2))); + + +extern volatile __bit I2C_START __attribute__((address(0x4A3))); + + +extern volatile __bit I2C_STOP __attribute__((address(0x4A4))); + + +extern volatile __bit INTE __attribute__((address(0x5C))); + + +extern volatile __bit INTEDG __attribute__((address(0x40E))); + + +extern volatile __bit INTF __attribute__((address(0x59))); + + +extern volatile __bit IOCB0 __attribute__((address(0x4B0))); + + +extern volatile __bit IOCB1 __attribute__((address(0x4B1))); + + +extern volatile __bit IOCB2 __attribute__((address(0x4B2))); + + +extern volatile __bit IOCB3 __attribute__((address(0x4B3))); + + +extern volatile __bit IOCB4 __attribute__((address(0x4B4))); + + +extern volatile __bit IOCB5 __attribute__((address(0x4B5))); + + +extern volatile __bit IOCB6 __attribute__((address(0x4B6))); + + +extern volatile __bit IOCB7 __attribute__((address(0x4B7))); + + +extern volatile __bit IRCF0 __attribute__((address(0x47C))); + + +extern volatile __bit IRCF1 __attribute__((address(0x47D))); + + +extern volatile __bit IRCF2 __attribute__((address(0x47E))); + + +extern volatile __bit IRP __attribute__((address(0x1F))); + + +extern volatile __bit LTS __attribute__((address(0x479))); + + +extern volatile __bit MC1OUT __attribute__((address(0x84F))); + + +extern volatile __bit MC2OUT __attribute__((address(0x84E))); + + +extern volatile __bit MSK0 __attribute__((address(0x498))); + + +extern volatile __bit MSK1 __attribute__((address(0x499))); + + +extern volatile __bit MSK2 __attribute__((address(0x49A))); + + +extern volatile __bit MSK3 __attribute__((address(0x49B))); + + +extern volatile __bit MSK4 __attribute__((address(0x49C))); + + +extern volatile __bit MSK5 __attribute__((address(0x49D))); + + +extern volatile __bit MSK6 __attribute__((address(0x49E))); + + +extern volatile __bit MSK7 __attribute__((address(0x49F))); + + +extern volatile __bit OERR __attribute__((address(0xC1))); + + +extern volatile __bit OSFIE __attribute__((address(0x46F))); + + +extern volatile __bit OSFIF __attribute__((address(0x6F))); + + +extern volatile __bit OSTS __attribute__((address(0x47B))); + + +extern volatile __bit P1M0 __attribute__((address(0xBE))); + + +extern volatile __bit P1M1 __attribute__((address(0xBF))); + + +extern volatile __bit PDC0 __attribute__((address(0x4D8))); + + +extern volatile __bit PDC1 __attribute__((address(0x4D9))); + + +extern volatile __bit PDC2 __attribute__((address(0x4DA))); + + +extern volatile __bit PDC3 __attribute__((address(0x4DB))); + + +extern volatile __bit PDC4 __attribute__((address(0x4DC))); + + +extern volatile __bit PDC5 __attribute__((address(0x4DD))); + + +extern volatile __bit PDC6 __attribute__((address(0x4DE))); + + +extern volatile __bit PEIE __attribute__((address(0x5E))); + + +extern volatile __bit PEN __attribute__((address(0x48A))); + + +extern volatile __bit PRSEN __attribute__((address(0x4DF))); + + +extern volatile __bit PS0 __attribute__((address(0x408))); + + +extern volatile __bit PS1 __attribute__((address(0x409))); + + +extern volatile __bit PS2 __attribute__((address(0x40A))); + + +extern volatile __bit PSA __attribute__((address(0x40B))); + + +extern volatile __bit PSSAC0 __attribute__((address(0x4E2))); + + +extern volatile __bit PSSAC1 __attribute__((address(0x4E3))); + + +extern volatile __bit PSSBD0 __attribute__((address(0x4E0))); + + +extern volatile __bit PSSBD1 __attribute__((address(0x4E1))); + + +extern volatile __bit PULSR __attribute__((address(0xC2A))); + + +extern volatile __bit PULSS __attribute__((address(0xC2B))); + + +extern volatile __bit RA0 __attribute__((address(0x28))); + + +extern volatile __bit RA1 __attribute__((address(0x29))); + + +extern volatile __bit RA2 __attribute__((address(0x2A))); + + +extern volatile __bit RA3 __attribute__((address(0x2B))); + + +extern volatile __bit RA4 __attribute__((address(0x2C))); + + +extern volatile __bit RA5 __attribute__((address(0x2D))); + + +extern volatile __bit RA6 __attribute__((address(0x2E))); + + +extern volatile __bit RA7 __attribute__((address(0x2F))); + + +extern volatile __bit RB0 __attribute__((address(0x30))); + + +extern volatile __bit RB1 __attribute__((address(0x31))); + + +extern volatile __bit RB2 __attribute__((address(0x32))); + + +extern volatile __bit RB3 __attribute__((address(0x33))); + + +extern volatile __bit RB4 __attribute__((address(0x34))); + + +extern volatile __bit RB5 __attribute__((address(0x35))); + + +extern volatile __bit RB6 __attribute__((address(0x36))); + + +extern volatile __bit RB7 __attribute__((address(0x37))); + + +extern volatile __bit RBIE __attribute__((address(0x5B))); + + +extern volatile __bit RBIF __attribute__((address(0x58))); + + +extern volatile __bit RC0 __attribute__((address(0x38))); + + +extern volatile __bit RC1 __attribute__((address(0x39))); + + +extern volatile __bit RC2 __attribute__((address(0x3A))); + + +extern volatile __bit RC3 __attribute__((address(0x3B))); + + +extern volatile __bit RC4 __attribute__((address(0x3C))); + + +extern volatile __bit RC5 __attribute__((address(0x3D))); + + +extern volatile __bit RC6 __attribute__((address(0x3E))); + + +extern volatile __bit RC7 __attribute__((address(0x3F))); + + +extern volatile __bit RC8_9 __attribute__((address(0xC6))); + + +extern volatile __bit RC9 __attribute__((address(0xC6))); + + +extern volatile __bit RCD8 __attribute__((address(0xC0))); + + +extern volatile __bit RCEN __attribute__((address(0x48B))); + + +extern volatile __bit RCIDL __attribute__((address(0xC3E))); + + +extern volatile __bit RCIE __attribute__((address(0x465))); + + +extern volatile __bit RCIF __attribute__((address(0x65))); + + +extern volatile __bit RD __attribute__((address(0xC60))); + + +extern volatile __bit RD0 __attribute__((address(0x40))); + + +extern volatile __bit RD1 __attribute__((address(0x41))); + + +extern volatile __bit RD2 __attribute__((address(0x42))); + + +extern volatile __bit RD3 __attribute__((address(0x43))); + + +extern volatile __bit RD4 __attribute__((address(0x44))); + + +extern volatile __bit RD5 __attribute__((address(0x45))); + + +extern volatile __bit RD6 __attribute__((address(0x46))); + + +extern volatile __bit RD7 __attribute__((address(0x47))); + + +extern volatile __bit RE0 __attribute__((address(0x48))); + + +extern volatile __bit RE1 __attribute__((address(0x49))); + + +extern volatile __bit RE2 __attribute__((address(0x4A))); + + +extern volatile __bit RE3 __attribute__((address(0x4B))); + + +extern volatile __bit READ_WRITE __attribute__((address(0x4A2))); + + +extern volatile __bit RP0 __attribute__((address(0x1D))); + + +extern volatile __bit RP1 __attribute__((address(0x1E))); + + +extern volatile __bit RSEN __attribute__((address(0x489))); + + +extern volatile __bit RX9 __attribute__((address(0xC6))); + + +extern volatile __bit RX9D __attribute__((address(0xC0))); + + +extern volatile __bit R_W __attribute__((address(0x4A2))); + + +extern volatile __bit R_nW __attribute__((address(0x4A2))); + + +extern volatile __bit SBOREN __attribute__((address(0x474))); + + +extern volatile __bit SCKP __attribute__((address(0xC3C))); + + +extern volatile __bit SCS __attribute__((address(0x478))); + + +extern volatile __bit SEN __attribute__((address(0x488))); + + +extern volatile __bit SENDB __attribute__((address(0x4C3))); + + +extern volatile __bit SMP __attribute__((address(0x4A7))); + + +extern volatile __bit SPEN __attribute__((address(0xC7))); + + +extern volatile __bit SR0 __attribute__((address(0xC2E))); + + +extern volatile __bit SR1 __attribute__((address(0xC2F))); + + +extern volatile __bit SREN __attribute__((address(0xC5))); + + +extern volatile __bit SSPEN __attribute__((address(0xA5))); + + +extern volatile __bit SSPIE __attribute__((address(0x463))); + + +extern volatile __bit SSPIF __attribute__((address(0x63))); + + +extern volatile __bit SSPM0 __attribute__((address(0xA0))); + + +extern volatile __bit SSPM1 __attribute__((address(0xA1))); + + +extern volatile __bit SSPM2 __attribute__((address(0xA2))); + + +extern volatile __bit SSPM3 __attribute__((address(0xA3))); + + +extern volatile __bit SSPOV __attribute__((address(0xA6))); + + +extern volatile __bit STRA __attribute__((address(0x4E8))); + + +extern volatile __bit STRB __attribute__((address(0x4E9))); + + +extern volatile __bit STRC __attribute__((address(0x4EA))); + + +extern volatile __bit STRD __attribute__((address(0x4EB))); + + +extern volatile __bit STRSYNC __attribute__((address(0x4EC))); + + +extern volatile __bit SWDTEN __attribute__((address(0x828))); + + +extern volatile __bit SYNC __attribute__((address(0x4C4))); + + +extern volatile __bit T0CS __attribute__((address(0x40D))); + + +extern volatile __bit T0IE __attribute__((address(0x5D))); + + +extern volatile __bit T0IF __attribute__((address(0x5A))); + + +extern volatile __bit T0SE __attribute__((address(0x40C))); + + +extern volatile __bit T1CKPS0 __attribute__((address(0x84))); + + +extern volatile __bit T1CKPS1 __attribute__((address(0x85))); + + +extern volatile __bit T1GINV __attribute__((address(0x87))); + + +extern volatile __bit T1GIV __attribute__((address(0x87))); + + +extern volatile __bit T1GSS __attribute__((address(0x849))); + + +extern volatile __bit T1INSYNC __attribute__((address(0x82))); + + +extern volatile __bit T1OSCEN __attribute__((address(0x83))); + + +extern volatile __bit T1SYNC __attribute__((address(0x82))); + + +extern volatile __bit T2CKPS0 __attribute__((address(0x90))); + + +extern volatile __bit T2CKPS1 __attribute__((address(0x91))); + + +extern volatile __bit TMR0IE __attribute__((address(0x5D))); + + +extern volatile __bit TMR0IF __attribute__((address(0x5A))); + + +extern volatile __bit TMR1CS __attribute__((address(0x81))); + + +extern volatile __bit TMR1GE __attribute__((address(0x86))); + + +extern volatile __bit TMR1IE __attribute__((address(0x460))); + + +extern volatile __bit TMR1IF __attribute__((address(0x60))); + + +extern volatile __bit TMR1ON __attribute__((address(0x80))); + + +extern volatile __bit TMR2IE __attribute__((address(0x461))); + + +extern volatile __bit TMR2IF __attribute__((address(0x61))); + + +extern volatile __bit TMR2ON __attribute__((address(0x92))); + + +extern volatile __bit TOUTPS0 __attribute__((address(0x93))); + + +extern volatile __bit TOUTPS1 __attribute__((address(0x94))); + + +extern volatile __bit TOUTPS2 __attribute__((address(0x95))); + + +extern volatile __bit TOUTPS3 __attribute__((address(0x96))); + + +extern volatile __bit TRISA0 __attribute__((address(0x428))); + + +extern volatile __bit TRISA1 __attribute__((address(0x429))); + + +extern volatile __bit TRISA2 __attribute__((address(0x42A))); + + +extern volatile __bit TRISA3 __attribute__((address(0x42B))); + + +extern volatile __bit TRISA4 __attribute__((address(0x42C))); + + +extern volatile __bit TRISA5 __attribute__((address(0x42D))); + + +extern volatile __bit TRISA6 __attribute__((address(0x42E))); + + +extern volatile __bit TRISA7 __attribute__((address(0x42F))); + + +extern volatile __bit TRISB0 __attribute__((address(0x430))); + + +extern volatile __bit TRISB1 __attribute__((address(0x431))); + + +extern volatile __bit TRISB2 __attribute__((address(0x432))); + + +extern volatile __bit TRISB3 __attribute__((address(0x433))); + + +extern volatile __bit TRISB4 __attribute__((address(0x434))); + + +extern volatile __bit TRISB5 __attribute__((address(0x435))); + + +extern volatile __bit TRISB6 __attribute__((address(0x436))); + + +extern volatile __bit TRISB7 __attribute__((address(0x437))); + + +extern volatile __bit TRISC0 __attribute__((address(0x438))); + + +extern volatile __bit TRISC1 __attribute__((address(0x439))); + + +extern volatile __bit TRISC2 __attribute__((address(0x43A))); + + +extern volatile __bit TRISC3 __attribute__((address(0x43B))); + + +extern volatile __bit TRISC4 __attribute__((address(0x43C))); + + +extern volatile __bit TRISC5 __attribute__((address(0x43D))); + + +extern volatile __bit TRISC6 __attribute__((address(0x43E))); + + +extern volatile __bit TRISC7 __attribute__((address(0x43F))); + + +extern volatile __bit TRISD0 __attribute__((address(0x440))); + + +extern volatile __bit TRISD1 __attribute__((address(0x441))); + + +extern volatile __bit TRISD2 __attribute__((address(0x442))); + + +extern volatile __bit TRISD3 __attribute__((address(0x443))); + + +extern volatile __bit TRISD4 __attribute__((address(0x444))); + + +extern volatile __bit TRISD5 __attribute__((address(0x445))); + + +extern volatile __bit TRISD6 __attribute__((address(0x446))); + + +extern volatile __bit TRISD7 __attribute__((address(0x447))); + + +extern volatile __bit TRISE0 __attribute__((address(0x448))); + + +extern volatile __bit TRISE1 __attribute__((address(0x449))); + + +extern volatile __bit TRISE2 __attribute__((address(0x44A))); + + +extern volatile __bit TRISE3 __attribute__((address(0x44B))); + + +extern volatile __bit TRMT __attribute__((address(0x4C1))); + + +extern volatile __bit TUN0 __attribute__((address(0x480))); + + +extern volatile __bit TUN1 __attribute__((address(0x481))); + + +extern volatile __bit TUN2 __attribute__((address(0x482))); + + +extern volatile __bit TUN3 __attribute__((address(0x483))); + + +extern volatile __bit TUN4 __attribute__((address(0x484))); + + +extern volatile __bit TX8_9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9D __attribute__((address(0x4C0))); + + +extern volatile __bit TXD8 __attribute__((address(0x4C0))); + + +extern volatile __bit TXEN __attribute__((address(0x4C5))); + + +extern volatile __bit TXIE __attribute__((address(0x464))); + + +extern volatile __bit TXIF __attribute__((address(0x64))); + + +extern volatile __bit UA __attribute__((address(0x4A1))); + + +extern volatile __bit ULPWUE __attribute__((address(0x475))); + + +extern volatile __bit ULPWUIE __attribute__((address(0x46A))); + + +extern volatile __bit ULPWUIF __attribute__((address(0x6A))); + + +extern volatile __bit VCFG0 __attribute__((address(0x4FC))); + + +extern volatile __bit VCFG1 __attribute__((address(0x4FD))); + + +extern volatile __bit VR0 __attribute__((address(0x4B8))); + + +extern volatile __bit VR1 __attribute__((address(0x4B9))); + + +extern volatile __bit VR2 __attribute__((address(0x4BA))); + + +extern volatile __bit VR3 __attribute__((address(0x4BB))); + + +extern volatile __bit VREN __attribute__((address(0x4BF))); + + +extern volatile __bit VROE __attribute__((address(0x4BE))); + + +extern volatile __bit VRR __attribute__((address(0x4BD))); + + +extern volatile __bit VRSS __attribute__((address(0x4BC))); + + +extern volatile __bit WCOL __attribute__((address(0xA7))); + + +extern volatile __bit WDTPS0 __attribute__((address(0x829))); + + +extern volatile __bit WDTPS1 __attribute__((address(0x82A))); + + +extern volatile __bit WDTPS2 __attribute__((address(0x82B))); + + +extern volatile __bit WDTPS3 __attribute__((address(0x82C))); + + +extern volatile __bit WPUB0 __attribute__((address(0x4A8))); + + +extern volatile __bit WPUB1 __attribute__((address(0x4A9))); + + +extern volatile __bit WPUB2 __attribute__((address(0x4AA))); + + +extern volatile __bit WPUB3 __attribute__((address(0x4AB))); + + +extern volatile __bit WPUB4 __attribute__((address(0x4AC))); + + +extern volatile __bit WPUB5 __attribute__((address(0x4AD))); + + +extern volatile __bit WPUB6 __attribute__((address(0x4AE))); + + +extern volatile __bit WPUB7 __attribute__((address(0x4AF))); + + +extern volatile __bit WR __attribute__((address(0xC61))); + + +extern volatile __bit WREN __attribute__((address(0xC62))); + + +extern volatile __bit WRERR __attribute__((address(0xC63))); + + +extern volatile __bit WUE __attribute__((address(0xC39))); + + +extern volatile __bit ZERO __attribute__((address(0x1A))); + + +extern volatile __bit nA __attribute__((address(0x4A5))); + + +extern volatile __bit nADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit nBO __attribute__((address(0x470))); + + +extern volatile __bit nBOR __attribute__((address(0x470))); + + +extern volatile __bit nDONE __attribute__((address(0xF9))); + + +extern volatile __bit nPD __attribute__((address(0x1B))); + + +extern volatile __bit nPOR __attribute__((address(0x471))); + + +extern volatile __bit nRBPU __attribute__((address(0x40F))); + + +extern volatile __bit nRC8 __attribute__((address(0xC6))); + + +extern volatile __bit nT1SYNC __attribute__((address(0x82))); + + +extern volatile __bit nTO __attribute__((address(0x1C))); + + +extern volatile __bit nTX8 __attribute__((address(0x4C6))); + + +extern volatile __bit nW __attribute__((address(0x4A2))); + + +extern volatile __bit nWRITE __attribute__((address(0x4A2))); +# 725 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 2 3 +# 14 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 76 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +__attribute__((__unsupported__("The " "FLASH_READ" " macro function is no longer supported. Please use the MPLAB X MCC."))) unsigned char __flash_read(unsigned short addr); + +__attribute__((__unsupported__("The " "FLASH_WRITE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_write(unsigned short addr, unsigned short data); + +__attribute__((__unsupported__("The " "FLASH_ERASE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_erase(unsigned short addr); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 1 3 +# 114 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 3 +extern void eeprom_write(unsigned char addr, unsigned char value); +extern unsigned char eeprom_read(unsigned char addr); +# 84 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 118 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +extern __bank0 unsigned char __resetbits; +extern __bank0 __bit __powerdown; +extern __bank0 __bit __timeout; +# 29 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 5 "src/../include/config.h" 2 + + + + +#pragma config FOSC = INTRC_NOCLKOUT +#pragma config WDTE = OFF +#pragma config PWRTE = ON +#pragma config MCLRE = OFF +#pragma config CP = OFF +#pragma config CPD = OFF +#pragma config BOREN = ON +#pragma config IESO = OFF +#pragma config FCMEN = OFF +#pragma config LVP = OFF +#pragma config BOR4V = BOR40V +#pragma config WRT = OFF +# 4 "src/main.c" 2 + + +# 1 "src/../include/initialisation.h" 1 +# 13 "src/../include/initialisation.h" + typedef enum { ON = 0, OFF = 1 } PinStates; + + + + +typedef enum { OUTPUT = 0, INPUT = 1 } PinDirection; +typedef enum { DIGITAL = 0, ANALOG = 1 } PinMode; + +typedef struct { + volatile uint8_t* tris; + volatile uint8_t* lat; + volatile uint8_t* ansel; + PinDirection direction; + PinMode mode; +} PinConfig; + + +typedef enum { CONFIG_FOSC = 0, INTERNAL_FOSC = 1 } OscStartupTime; +typedef enum { CONFIG_CLK = 0, INTERNAL_CLK = 1 } SysClockSelect; +typedef enum { HTS_UNSTABLE = 0, HTS_STABLE = 1 } HFINTOSCStatus; +typedef enum { LTS_UNSTABLE = 0, LTS_STABLE = 1 } LFINTOSCStable; +typedef enum { + KHZ032 = 0b000, + KHZ125 = 0b001, + KHZ250 = 0b010, + KHZ500 = 0b011, + MHZ001 = 0b100, + MHZ002 = 0b101, + MHZ004 = 0b110, + MHZ008 = 0b111 +} InternalFrequency; + +typedef struct { + SysClockSelect SCS; + InternalFrequency IRCF; + OscStartupTime OSTS; +} OscillatorConfig; + + +typedef enum { GIE_DISABLED = 0, GIE_ENABLED = 1 } GlobalInterrupt; +typedef enum { EINT_DISABLED = 0, EINT_ENABLED = 1 } ExternalInterrupt; +typedef enum { PEIE_DISABLED = 0, PEIE_ENABLED = 1 } PeripheralInterrupt; +typedef enum { T0INT_DISABLED = 0, T0INT_ENABLED = 1 } Timer0OverflowInterrupt; +typedef enum { RBINT_DISABLED = 0, RBINT_ENABLED = 1 } PortBInterrupt; +typedef enum { FALLING_EDGE = 0, RISING_EDGE = 1 } InterruptEdge; +typedef enum { INT_AWAITING = 0, INT_OCCURED = 1 } InterruptFlag; + +typedef struct { + GlobalInterrupt GIE; + ExternalInterrupt EINT; + PeripheralInterrupt PEIE; + Timer0OverflowInterrupt T0IE; + PortBInterrupt RBIE; + InterruptEdge INTEDG; +} InterruptConfig; + + +typedef enum { ADC_OFF = 0, ADC_ON = 1 } ADCEnable; +typedef enum { VREF_MINPIN = 0, VREF_VSS = 1 } ADCVoltageReference1; +typedef enum { VREF_PLUSPIN = 0, VREF_VDD = 1 } ADCVoltageReference0; +typedef enum { ADC_LEFT = 0, ADC_RIGHT = 1 } ADCResultFormat; +typedef enum { ADC_DONE = 0, ADC_IN_PROGRESS = 1 } ADCConversionStatus; +typedef enum { + ADC_AN00 = 0b0000, + ADC_AN01 = 0b0001, + ADC_AN02 = 0b0010, + ADC_AN03 = 0b0011, + ADC_AN04 = 0b0100, + ADC_AN05 = 0b0101, + ADC_AN06 = 0b0110, + ADC_AN07 = 0b0111, + ADC_AN08 = 0b1000, + ADC_AN09 = 0b1001, + ADC_AN10 = 0b1010, + ADC_AN11 = 0b1011, + ADC_AN12 = 0b1100, + ADC_AN13 = 0b1101, + ADC_CVREF = 0b1110, + ADC_FXREF = 0b1111 +} ADCChannelSelect; + +typedef enum { + ADC_FOSC02 = 0b00, + ADC_FOSC08 = 0b01, + ADC_FOSC32 = 0b10, + ADC_INTOSC = 0b11 +} ADCConversionClock; + +typedef struct { + ADCEnable ADON; + ADCResultFormat ADFM; + ADCChannelSelect CHS; + ADCConversionClock ADCS; + ADCVoltageReference0 VCFG0; + ADCVoltageReference1 VCFG1; + ADCConversionStatus GO_nDONE; +} ADCConfig; + + + +void init_osc(OscillatorConfig config); +void init_int(InterruptConfig config); +void init_adc(ADCConfig config); +# 6 "src/main.c" 2 + +# 1 "src/../include/rotary_encoder.h" 1 + + + +typedef enum { ROTATE_LEFT = 1, ROTATE_RIGHT = 2 } RotaryEncoderStates; + + +void parse_rotary(char pinA, char pinB, char *counter, char max, char min); +# 7 "src/main.c" 2 + +# 1 "src/../include/potentiometer.h" 1 + + + +void populate_step_array(int *array, int size, int potLimit); +int read_potentiometer(void); +# 8 "src/main.c" 2 + + +char count = 0; + + +void pic_init(void); +void init_gpio(void); + +void pic_loop(void); + +void main(void) { + + pic_init(); + + + pic_loop(); +} + +void pic_loop(void) { + + int stepArray[4] = {0}; + populate_step_array(stepArray, 4, 1023); + + while (1) { + + int result = read_potentiometer(); + + + + + + for (int i = 0; i < 4; i++) { + if (result > (stepArray[i] - 2)) { + PORTA = (unsigned char)(PORTA & ~(1 << i)); + } else if (result <= (stepArray[i] - 2)) { + PORTA = (unsigned char)(PORTA | (1 << i)); + } + } + } +} + +void pic_init(void) { + OscillatorConfig osc_config = {INTERNAL_CLK, KHZ500, INTERNAL_FOSC}; + InterruptConfig int_config = { GIE_ENABLED, EINT_ENABLED, PEIE_DISABLED, + T0INT_DISABLED, RBINT_ENABLED, RISING_EDGE }; + ADCConfig adc_config = { ADC_ON, ADC_RIGHT, ADC_AN07, ADC_FOSC02, VREF_PLUSPIN, VREF_MINPIN, ADC_IN_PROGRESS }; + + init_osc(osc_config); + init_int(int_config); + init_adc(adc_config); + init_gpio(); +} + + + +void init_gpio(void) { + + + + + TRISA = 0; + PORTA = OFF; + + TRISBbits.TRISB4 = 1; + TRISBbits.TRISB5 = 1; + + + TRISEbits.TRISE2 = 1; + + + ANSEL = 0; + ANSELH = 0; + ANSELbits.ANS7 = 1; +} + + +void __attribute__((picinterrupt(("")))) isr(void) { + if (INTCONbits.RBIF == 1) { + + parse_rotary(PORTBbits.RB4, PORTBbits.RB5, &count, 4, 0); + PORTA = (unsigned char) (~(1 << count)); + + + INTCONbits.RBIF = INT_AWAITING; + INTCONbits.INTF = INT_AWAITING; + } +} diff --git a/build/default/debug/src/main.p1 b/build/default/debug/src/main.p1 new file mode 100644 index 0000000..bfadd7d --- /dev/null +++ b/build/default/debug/src/main.p1 @@ -0,0 +1,652 @@ +Version 4.0 HI-TECH Software Intermediate Code +[p mainexit ] +"13 src/main.c +[; ;src/main.c: 13: void pic_init(void); +[v _pic_init `(v ~T0 @X0 0 ef ] +"16 +[; ;src/main.c: 16: void pic_loop(void); +[v _pic_loop `(v ~T0 @X0 0 ef ] +"4 src/../include/potentiometer.h +[; ;src/../include/potentiometer.h: 4: void populate_step_array(int *array, int size, int potLimit); +[v _populate_step_array `(v ~T0 @X0 0 ef3`*i`i`i ] +"5 +[; ;src/../include/potentiometer.h: 5: int read_potentiometer(void); +[v _read_potentiometer `(i ~T0 @X0 0 ef ] +"166 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 166: extern volatile unsigned char PORTA __attribute__((address(0x005))); +[v _PORTA `Vuc ~T0 @X0 0 e@5 ] +"50 src/main.c +[; ;src/main.c: 50: OscillatorConfig osc_config = {INTERNAL_CLK, KHZ500, INTERNAL_FOSC}; +[c E1443 0 1 .. ] +[n E1443 . CONFIG_CLK INTERNAL_CLK ] +[c E1455 0 1 2 3 4 5 6 7 .. ] +[n E1455 . KHZ032 KHZ125 KHZ250 KHZ500 MHZ001 MHZ002 MHZ004 MHZ008 ] +[c E1439 0 1 .. ] +[n E1439 . CONFIG_FOSC INTERNAL_FOSC ] +"45 src/../include/initialisation.h +[; ;src/../include/initialisation.h: 45: typedef struct { +[s S143 `E1443 1 `E1455 1 `E1439 1 ] +[n S143 . SCS IRCF OSTS ] +"51 src/main.c +[; ;src/main.c: 51: InterruptConfig int_config = { GIE_ENABLED, EINT_ENABLED, PEIE_DISABLED, +[c E1470 0 1 .. ] +[n E1470 . GIE_DISABLED GIE_ENABLED ] +[c E1474 0 1 .. ] +[n E1474 . EINT_DISABLED EINT_ENABLED ] +[c E1478 0 1 .. ] +[n E1478 . PEIE_DISABLED PEIE_ENABLED ] +[c E1482 0 1 .. ] +[n E1482 . T0INT_DISABLED T0INT_ENABLED ] +[c E1486 0 1 .. ] +[n E1486 . RBINT_DISABLED RBINT_ENABLED ] +[c E1490 0 1 .. ] +[n E1490 . FALLING_EDGE RISING_EDGE ] +"60 src/../include/initialisation.h +[; ;src/../include/initialisation.h: 60: typedef struct { +[s S144 `E1470 1 `E1474 1 `E1478 1 `E1482 1 `E1486 1 `E1490 1 ] +[n S144 . GIE EINT PEIE T0IE RBIE INTEDG ] +"53 src/main.c +[; ;src/main.c: 53: ADCConfig adc_config = { ADC_ON, ADC_RIGHT, ADC_AN07, ADC_FOSC02, VREF_PLUSPIN, VREF_MINPIN, ADC_IN_PROGRESS }; +[c E1506 0 1 .. ] +[n E1506 . ADC_OFF ADC_ON ] +[c E1518 0 1 .. ] +[n E1518 . ADC_LEFT ADC_RIGHT ] +[c E1526 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 .. ] +[n E1526 . ADC_AN00 ADC_AN01 ADC_AN02 ADC_AN03 ADC_AN04 ADC_AN05 ADC_AN06 ADC_AN07 ADC_AN08 ADC_AN09 ADC_AN10 ADC_AN11 ADC_AN12 ADC_AN13 ADC_CVREF ADC_FXREF ] +[c E1544 0 1 2 3 .. ] +[n E1544 . ADC_FOSC02 ADC_FOSC08 ADC_FOSC32 ADC_INTOSC ] +[c E1514 0 1 .. ] +[n E1514 . VREF_PLUSPIN VREF_VDD ] +[c E1510 0 1 .. ] +[n E1510 . VREF_MINPIN VREF_VSS ] +[c E1522 0 1 .. ] +[n E1522 . ADC_DONE ADC_IN_PROGRESS ] +"101 src/../include/initialisation.h +[; ;src/../include/initialisation.h: 101: typedef struct { +[s S145 `E1506 1 `E1518 1 `E1526 1 `E1544 1 `E1514 1 `E1510 1 `E1522 1 ] +[n S145 . ADON ADFM CHS ADCS VCFG0 VCFG1 GO_nDONE ] +"113 +[; ;src/../include/initialisation.h: 113: void init_osc(OscillatorConfig config); +[v _init_osc `(v ~T0 @X0 0 ef1`S143 ] +"114 +[; ;src/../include/initialisation.h: 114: void init_int(InterruptConfig config); +[v _init_int `(v ~T0 @X0 0 ef1`S144 ] +"115 +[; ;src/../include/initialisation.h: 115: void init_adc(ADCConfig config); +[v _init_adc `(v ~T0 @X0 0 ef1`S145 ] +"14 src/main.c +[; ;src/main.c: 14: void init_gpio(void); +[v _init_gpio `(v ~T0 @X0 0 ef ] +"1416 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1416: extern volatile unsigned char TRISA __attribute__((address(0x085))); +[v _TRISA `Vuc ~T0 @X0 0 e@133 ] +"69 src/main.c +[; ;src/main.c: 69: PORTA = OFF; +[c E1420 0 1 .. ] +[n E1420 . ON OFF ] +"1484 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1484: struct { +[s S59 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S59 . TRISB0 TRISB1 TRISB2 TRISB3 TRISB4 TRISB5 TRISB6 TRISB7 ] +"1483 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1483: typedef union { +[u S58 `S59 1 ] +[n S58 . . ] +"1495 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1495: extern volatile TRISBbits_t TRISBbits __attribute__((address(0x086))); +[v _TRISBbits `VS58 ~T0 @X0 0 e@134 ] +"1670 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1670: struct { +[s S65 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S65 . TRISE0 TRISE1 TRISE2 TRISE3 ] +"1669 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1669: typedef union { +[u S64 `S65 1 ] +[n S64 . . ] +"1677 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1677: extern volatile TRISEbits_t TRISEbits __attribute__((address(0x089))); +[v _TRISEbits `VS64 ~T0 @X0 0 e@137 ] +"3387 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3387: extern volatile unsigned char ANSEL __attribute__((address(0x188))); +[v _ANSEL `Vuc ~T0 @X0 0 e@392 ] +"3449 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3449: extern volatile unsigned char ANSELH __attribute__((address(0x189))); +[v _ANSELH `Vuc ~T0 @X0 0 e@393 ] +"3393 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3393: struct { +[s S137 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S137 . ANS0 ANS1 ANS2 ANS3 ANS4 ANS5 ANS6 ANS7 ] +"3392 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3392: typedef union { +[u S136 `S137 1 ] +[n S136 . . ] +"3404 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3404: extern volatile ANSELbits_t ANSELbits __attribute__((address(0x188))); +[v _ANSELbits `VS136 ~T0 @X0 0 e@392 ] +[t ~ __interrupt . k ] +[t T1 __interrupt ] +"465 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 465: struct { +[s S20 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S20 . RBIF INTF T0IF RBIE INTE T0IE PEIE GIE ] +"475 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 475: struct { +[s S21 :2 `uc 1 :1 `uc 1 :2 `uc 1 :1 `uc 1 ] +[n S21 . . TMR0IF . TMR0IE ] +"464 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 464: typedef union { +[u S19 `S20 1 `S21 1 ] +[n S19 . . . ] +"482 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 482: extern volatile INTCONbits_t INTCONbits __attribute__((address(0x00B))); +[v _INTCONbits `VS19 ~T0 @X0 0 e@11 ] +"7 src/../include/rotary_encoder.h +[; ;src/../include/rotary_encoder.h: 7: void parse_rotary(char pinA, char pinB, char *counter, char max, char min); +[v _parse_rotary `(v ~T0 @X0 0 ef5`uc`uc`*uc`uc`uc ] +"234 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 234: struct { +[s S12 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ] +[n S12 . RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 ] +"233 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 233: typedef union { +[u S11 `S12 1 ] +[n S11 . . ] +"245 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 245: extern volatile PORTBbits_t PORTBbits __attribute__((address(0x006))); +[v _PORTBbits `VS11 ~T0 @X0 0 e@6 ] +"91 src/main.c +[; ;src/main.c: 91: INTCONbits.RBIF = INT_AWAITING; +[c E1494 0 1 .. ] +[n E1494 . INT_AWAITING INT_OCCURED ] +"54 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 54: __asm("INDF equ 00h"); +[; <" INDF equ 00h ;# "> +"61 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 61: __asm("TMR0 equ 01h"); +[; <" TMR0 equ 01h ;# "> +"68 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 68: __asm("PCL equ 02h"); +[; <" PCL equ 02h ;# "> +"75 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 75: __asm("STATUS equ 03h"); +[; <" STATUS equ 03h ;# "> +"161 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 161: __asm("FSR equ 04h"); +[; <" FSR equ 04h ;# "> +"168 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 168: __asm("PORTA equ 05h"); +[; <" PORTA equ 05h ;# "> +"230 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 230: __asm("PORTB equ 06h"); +[; <" PORTB equ 06h ;# "> +"292 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 292: __asm("PORTC equ 07h"); +[; <" PORTC equ 07h ;# "> +"354 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 354: __asm("PORTD equ 08h"); +[; <" PORTD equ 08h ;# "> +"416 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 416: __asm("PORTE equ 09h"); +[; <" PORTE equ 09h ;# "> +"454 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 454: __asm("PCLATH equ 0Ah"); +[; <" PCLATH equ 0Ah ;# "> +"461 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 461: __asm("INTCON equ 0Bh"); +[; <" INTCON equ 0Bh ;# "> +"539 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 539: __asm("PIR1 equ 0Ch"); +[; <" PIR1 equ 0Ch ;# "> +"595 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 595: __asm("PIR2 equ 0Dh"); +[; <" PIR2 equ 0Dh ;# "> +"652 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 652: __asm("TMR1 equ 0Eh"); +[; <" TMR1 equ 0Eh ;# "> +"659 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 659: __asm("TMR1L equ 0Eh"); +[; <" TMR1L equ 0Eh ;# "> +"666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 666: __asm("TMR1H equ 0Fh"); +[; <" TMR1H equ 0Fh ;# "> +"673 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 673: __asm("T1CON equ 010h"); +[; <" T1CON equ 010h ;# "> +"767 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 767: __asm("TMR2 equ 011h"); +[; <" TMR2 equ 011h ;# "> +"774 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 774: __asm("T2CON equ 012h"); +[; <" T2CON equ 012h ;# "> +"845 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 845: __asm("SSPBUF equ 013h"); +[; <" SSPBUF equ 013h ;# "> +"852 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 852: __asm("SSPCON equ 014h"); +[; <" SSPCON equ 014h ;# "> +"922 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 922: __asm("CCPR1 equ 015h"); +[; <" CCPR1 equ 015h ;# "> +"929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 929: __asm("CCPR1L equ 015h"); +[; <" CCPR1L equ 015h ;# "> +"936 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 936: __asm("CCPR1H equ 016h"); +[; <" CCPR1H equ 016h ;# "> +"943 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 943: __asm("CCP1CON equ 017h"); +[; <" CCP1CON equ 017h ;# "> +"1040 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1040: __asm("RCSTA equ 018h"); +[; <" RCSTA equ 018h ;# "> +"1135 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1135: __asm("TXREG equ 019h"); +[; <" TXREG equ 019h ;# "> +"1142 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1142: __asm("RCREG equ 01Ah"); +[; <" RCREG equ 01Ah ;# "> +"1149 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1149: __asm("CCPR2 equ 01Bh"); +[; <" CCPR2 equ 01Bh ;# "> +"1156 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1156: __asm("CCPR2L equ 01Bh"); +[; <" CCPR2L equ 01Bh ;# "> +"1163 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1163: __asm("CCPR2H equ 01Ch"); +[; <" CCPR2H equ 01Ch ;# "> +"1170 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1170: __asm("CCP2CON equ 01Dh"); +[; <" CCP2CON equ 01Dh ;# "> +"1240 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1240: __asm("ADRESH equ 01Eh"); +[; <" ADRESH equ 01Eh ;# "> +"1247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1247: __asm("ADCON0 equ 01Fh"); +[; <" ADCON0 equ 01Fh ;# "> +"1348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1348: __asm("OPTION_REG equ 081h"); +[; <" OPTION_REG equ 081h ;# "> +"1418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1418: __asm("TRISA equ 085h"); +[; <" TRISA equ 085h ;# "> +"1480 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1480: __asm("TRISB equ 086h"); +[; <" TRISB equ 086h ;# "> +"1542 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1542: __asm("TRISC equ 087h"); +[; <" TRISC equ 087h ;# "> +"1604 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1604: __asm("TRISD equ 088h"); +[; <" TRISD equ 088h ;# "> +"1666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1666: __asm("TRISE equ 089h"); +[; <" TRISE equ 089h ;# "> +"1704 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1704: __asm("PIE1 equ 08Ch"); +[; <" PIE1 equ 08Ch ;# "> +"1760 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1760: __asm("PIE2 equ 08Dh"); +[; <" PIE2 equ 08Dh ;# "> +"1817 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1817: __asm("PCON equ 08Eh"); +[; <" PCON equ 08Eh ;# "> +"1864 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1864: __asm("OSCCON equ 08Fh"); +[; <" OSCCON equ 08Fh ;# "> +"1929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1929: __asm("OSCTUNE equ 090h"); +[; <" OSCTUNE equ 090h ;# "> +"1981 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1981: __asm("SSPCON2 equ 091h"); +[; <" SSPCON2 equ 091h ;# "> +"2043 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2043: __asm("PR2 equ 092h"); +[; <" PR2 equ 092h ;# "> +"2050 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2050: __asm("SSPADD equ 093h"); +[; <" SSPADD equ 093h ;# "> +"2057 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2057: __asm("SSPMSK equ 093h"); +[; <" SSPMSK equ 093h ;# "> +"2062 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2062: __asm("MSK equ 093h"); +[; <" MSK equ 093h ;# "> +"2179 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2179: __asm("SSPSTAT equ 094h"); +[; <" SSPSTAT equ 094h ;# "> +"2348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2348: __asm("WPUB equ 095h"); +[; <" WPUB equ 095h ;# "> +"2418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2418: __asm("IOCB equ 096h"); +[; <" IOCB equ 096h ;# "> +"2488 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2488: __asm("VRCON equ 097h"); +[; <" VRCON equ 097h ;# "> +"2558 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2558: __asm("TXSTA equ 098h"); +[; <" TXSTA equ 098h ;# "> +"2644 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2644: __asm("SPBRG equ 099h"); +[; <" SPBRG equ 099h ;# "> +"2706 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2706: __asm("SPBRGH equ 09Ah"); +[; <" SPBRGH equ 09Ah ;# "> +"2776 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2776: __asm("PWM1CON equ 09Bh"); +[; <" PWM1CON equ 09Bh ;# "> +"2846 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2846: __asm("ECCPAS equ 09Ch"); +[; <" ECCPAS equ 09Ch ;# "> +"2928 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2928: __asm("PSTRCON equ 09Dh"); +[; <" PSTRCON equ 09Dh ;# "> +"2972 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2972: __asm("ADRESL equ 09Eh"); +[; <" ADRESL equ 09Eh ;# "> +"2979 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2979: __asm("ADCON1 equ 09Fh"); +[; <" ADCON1 equ 09Fh ;# "> +"3013 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3013: __asm("WDTCON equ 0105h"); +[; <" WDTCON equ 0105h ;# "> +"3066 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3066: __asm("CM1CON0 equ 0107h"); +[; <" CM1CON0 equ 0107h ;# "> +"3131 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3131: __asm("CM2CON0 equ 0108h"); +[; <" CM2CON0 equ 0108h ;# "> +"3196 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3196: __asm("CM2CON1 equ 0109h"); +[; <" CM2CON1 equ 0109h ;# "> +"3247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3247: __asm("EEDATA equ 010Ch"); +[; <" EEDATA equ 010Ch ;# "> +"3252 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3252: __asm("EEDAT equ 010Ch"); +[; <" EEDAT equ 010Ch ;# "> +"3259 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3259: __asm("EEADR equ 010Dh"); +[; <" EEADR equ 010Dh ;# "> +"3266 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3266: __asm("EEDATH equ 010Eh"); +[; <" EEDATH equ 010Eh ;# "> +"3273 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3273: __asm("EEADRH equ 010Fh"); +[; <" EEADRH equ 010Fh ;# "> +"3280 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3280: __asm("SRCON equ 0185h"); +[; <" SRCON equ 0185h ;# "> +"3337 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3337: __asm("BAUDCTL equ 0187h"); +[; <" BAUDCTL equ 0187h ;# "> +"3389 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3389: __asm("ANSEL equ 0188h"); +[; <" ANSEL equ 0188h ;# "> +"3451 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3451: __asm("ANSELH equ 0189h"); +[; <" ANSELH equ 0189h ;# "> +"3501 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3501: __asm("EECON1 equ 018Ch"); +[; <" EECON1 equ 018Ch ;# "> +"3546 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3546: __asm("EECON2 equ 018Dh"); +[; <" EECON2 equ 018Dh ;# "> +"9 src/../include/config.h +[p x FOSC = INTRC_NOCLKOUT ] +"10 +[p x WDTE = OFF ] +"11 +[p x PWRTE = ON ] +"12 +[p x MCLRE = OFF ] +"13 +[p x CP = OFF ] +"14 +[p x CPD = OFF ] +"15 +[p x BOREN = ON ] +"16 +[p x IESO = OFF ] +"17 +[p x FCMEN = OFF ] +"18 +[p x LVP = OFF ] +"19 +[p x BOR4V = BOR40V ] +"20 +[p x WRT = OFF ] +"10 src/main.c +[; ;src/main.c: 10: char count = 0; +[v _count `uc ~T0 @X0 1 e ] +[i _count +-> -> 0 `i `uc +] +[v $root$_main `(v ~T0 @X0 0 e ] +"18 +[; ;src/main.c: 18: void main(void) { +[v _main `(v ~T0 @X0 1 ef ] +{ +[e :U _main ] +[f ] +"20 +[; ;src/main.c: 20: pic_init(); +[e ( _pic_init .. ] +"23 +[; ;src/main.c: 23: pic_loop(); +[e ( _pic_loop .. ] +"24 +[; ;src/main.c: 24: } +[e :UE 146 ] +} +"26 +[; ;src/main.c: 26: void pic_loop(void) { +[v _pic_loop `(v ~T0 @X0 1 ef ] +{ +[e :U _pic_loop ] +[f ] +[v F1586 `i ~T0 @X0 -> 4 `i s ] +[i F1586 +:U .. +"28 +[; ;src/main.c: 28: int stepArray[4] = {0}; +-> 0 `i +.. +] +[v _stepArray `i ~T0 @X0 -> 4 `i a ] +[e = _stepArray F1586 ] +"29 +[; ;src/main.c: 29: populate_step_array(stepArray, 4, 1023); +[e ( _populate_step_array (3 , , &U _stepArray -> 4 `i -> 1023 `i ] +"31 +[; ;src/main.c: 31: while (1) { +[e :U 149 ] +{ +"33 +[; ;src/main.c: 33: int result = read_potentiometer(); +[v _result `i ~T0 @X0 1 a ] +[e = _result ( _read_potentiometer .. ] +"39 +[; ;src/main.c: 39: for (int i = 0; i < 4; i++) { +{ +[v _i `i ~T0 @X0 1 a ] +[e = _i -> 0 `i ] +[e $ < _i -> 4 `i 151 ] +[e $U 152 ] +[e :U 151 ] +{ +"40 +[; ;src/main.c: 40: if (result > (stepArray[i] - 2)) { +[e $ ! > _result - *U + &U _stepArray * -> -> _i `ui `ux -> -> # *U &U _stepArray `ui `ux -> 2 `i 154 ] +{ +"41 +[; ;src/main.c: 41: PORTA = (unsigned char)(PORTA & ~(1 << i)); +[e = _PORTA -> & -> _PORTA `i ~ << -> 1 `i _i `uc ] +"42 +[; ;src/main.c: 42: } else if (result <= (stepArray[i] - 2)) { +} +[e $U 155 ] +[e :U 154 ] +[e $ ! <= _result - *U + &U _stepArray * -> -> _i `ui `ux -> -> # *U &U _stepArray `ui `ux -> 2 `i 156 ] +{ +"43 +[; ;src/main.c: 43: PORTA = (unsigned char)(PORTA | (1 << i)); +[e = _PORTA -> | -> _PORTA `i << -> 1 `i _i `uc ] +"44 +[; ;src/main.c: 44: } +} +[e :U 156 ] +[e :U 155 ] +"45 +[; ;src/main.c: 45: } +} +[e ++ _i -> 1 `i ] +[e $ < _i -> 4 `i 151 ] +[e :U 152 ] +} +"46 +[; ;src/main.c: 46: } +} +[e :U 148 ] +[e $U 149 ] +[e :U 150 ] +"47 +[; ;src/main.c: 47: } +[e :UE 147 ] +} +"49 +[; ;src/main.c: 49: void pic_init(void) { +[v _pic_init `(v ~T0 @X0 1 ef ] +{ +[e :U _pic_init ] +[f ] +[v F1591 `S143 ~T0 @X0 1 s ] +[i F1591 +:U .. +:U .. +"50 +[; ;src/main.c: 50: OscillatorConfig osc_config = {INTERNAL_CLK, KHZ500, INTERNAL_FOSC}; +. `E1443 1 +. `E1455 3 +. `E1439 1 +.. +.. +] +[v _osc_config `S143 ~T0 @X0 1 a ] +[e = _osc_config F1591 ] +[v F1593 `S144 ~T0 @X0 1 s ] +[i F1593 +:U .. +:U .. +"51 +[; ;src/main.c: 51: InterruptConfig int_config = { GIE_ENABLED, EINT_ENABLED, PEIE_DISABLED, +. `E1470 1 +. `E1474 1 +. `E1478 0 +. `E1482 0 +. `E1486 1 +. `E1490 1 +.. +.. +] +[v _int_config `S144 ~T0 @X0 1 a ] +[e = _int_config F1593 ] +[v F1595 `S145 ~T0 @X0 1 s ] +[i F1595 +:U .. +:U .. +"53 +[; ;src/main.c: 53: ADCConfig adc_config = { ADC_ON, ADC_RIGHT, ADC_AN07, ADC_FOSC02, VREF_PLUSPIN, VREF_MINPIN, ADC_IN_PROGRESS }; +. `E1506 1 +. `E1518 1 +. `E1526 7 +. `E1544 0 +. `E1514 0 +. `E1510 0 +. `E1522 1 +.. +.. +] +[v _adc_config `S145 ~T0 @X0 1 a ] +[e = _adc_config F1595 ] +"55 +[; ;src/main.c: 55: init_osc(osc_config); +[e ( _init_osc (1 _osc_config ] +"56 +[; ;src/main.c: 56: init_int(int_config); +[e ( _init_int (1 _int_config ] +"57 +[; ;src/main.c: 57: init_adc(adc_config); +[e ( _init_adc (1 _adc_config ] +"58 +[; ;src/main.c: 58: init_gpio(); +[e ( _init_gpio .. ] +"59 +[; ;src/main.c: 59: } +[e :UE 157 ] +} +"63 +[; ;src/main.c: 63: void init_gpio(void) { +[v _init_gpio `(v ~T0 @X0 1 ef ] +{ +[e :U _init_gpio ] +[f ] +"68 +[; ;src/main.c: 68: TRISA = 0; +[e = _TRISA -> -> 0 `i `uc ] +"69 +[; ;src/main.c: 69: PORTA = OFF; +[e = _PORTA -> . `E1420 1 `uc ] +"71 +[; ;src/main.c: 71: TRISBbits.TRISB4 = 1; +[e = . . _TRISBbits 0 4 -> -> 1 `i `uc ] +"72 +[; ;src/main.c: 72: TRISBbits.TRISB5 = 1; +[e = . . _TRISBbits 0 5 -> -> 1 `i `uc ] +"75 +[; ;src/main.c: 75: TRISEbits.TRISE2 = 1; +[e = . . _TRISEbits 0 2 -> -> 1 `i `uc ] +"78 +[; ;src/main.c: 78: ANSEL = 0; +[e = _ANSEL -> -> 0 `i `uc ] +"79 +[; ;src/main.c: 79: ANSELH = 0; +[e = _ANSELH -> -> 0 `i `uc ] +"80 +[; ;src/main.c: 80: ANSELbits.ANS7 = 1; +[e = . . _ANSELbits 0 7 -> -> 1 `i `uc ] +"81 +[; ;src/main.c: 81: } +[e :UE 158 ] +} +[v $root$_isr `(v ~T0 @X0 0 e ] +"84 +[; ;src/main.c: 84: void __attribute__((picinterrupt(("")))) isr(void) { +[v _isr `(v ~T1 @X0 1 ef ] +{ +[e :U _isr ] +[f ] +"85 +[; ;src/main.c: 85: if (INTCONbits.RBIF == 1) { +[e $ ! == -> . . _INTCONbits 0 0 `i -> 1 `i 160 ] +{ +"87 +[; ;src/main.c: 87: parse_rotary(PORTBbits.RB4, PORTBbits.RB5, &count, 4, 0); +[e ( _parse_rotary (4 , , , , -> . . _PORTBbits 0 4 `uc -> . . _PORTBbits 0 5 `uc &U _count -> -> 4 `i `uc -> -> 0 `i `uc ] +"88 +[; ;src/main.c: 88: PORTA = (unsigned char) (~(1 << count)); +[e = _PORTA -> ~ << -> 1 `i -> _count `i `uc ] +"91 +[; ;src/main.c: 91: INTCONbits.RBIF = INT_AWAITING; +[e = . . _INTCONbits 0 0 -> . `E1494 0 `uc ] +"92 +[; ;src/main.c: 92: INTCONbits.INTF = INT_AWAITING; +[e = . . _INTCONbits 0 1 -> . `E1494 0 `uc ] +"93 +[; ;src/main.c: 93: } +} +[e :U 160 ] +"94 +[; ;src/main.c: 94: } +[e :UE 159 ] +} diff --git a/build/default/debug/src/main.p1.d b/build/default/debug/src/main.p1.d new file mode 100644 index 0000000..1a5015e --- /dev/null +++ b/build/default/debug/src/main.p1.d @@ -0,0 +1,6 @@ +build/default/debug/src/main.p1: \ +src/main.c \ +src/../include/config.h \ +src/../include/initialisation.h \ +src/../include/rotary_encoder.h \ +src/../include/potentiometer.h diff --git a/build/default/debug/src/potentiometer.i b/build/default/debug/src/potentiometer.i new file mode 100644 index 0000000..bc727c9 --- /dev/null +++ b/build/default/debug/src/potentiometer.i @@ -0,0 +1,2715 @@ +# 1 "src/potentiometer.c" +# 1 "" 1 +# 1 "" 3 +# 288 "" 3 +# 1 "" 1 +# 1 "" 2 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\language_support.h" 1 3 +# 2 "" 2 +# 1 "src/potentiometer.c" 2 +# 1 "src/../include/config.h" 1 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 18 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 3 +extern const char __xc8_OPTIM_SPEED; + +extern double __fpnormalize(double); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\musl_xc8.h" 1 3 +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + + + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\features.h" 1 3 +# 11 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 +# 21 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 24 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int wchar_t; +# 128 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned size_t; +# 174 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __int24 int24_t; +# 210 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __uint24 uint24_t; +# 22 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + +int atoi (const char *); +long atol (const char *); + + + +double atof (const char *); + + +float strtof (const char *restrict, char **restrict); +double strtod (const char *restrict, char **restrict); +long double strtold (const char *restrict, char **restrict); + + + +long strtol (const char *restrict, char **restrict, int); +unsigned long strtoul (const char *restrict, char **restrict, int); + + + + + +unsigned long __strtoxl(const char * s, char ** endptr, int base, char is_signed); +# 55 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +int rand (void); +void srand (unsigned); + +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); + + void abort (void); +int atexit (void (*) (void)); + void exit (int); + void _Exit (int); + +void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); + + + + + + + +__attribute__((nonreentrant)) void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); + +int abs (int); +long labs (long); + + + + +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; + + + + +div_t div (int, int); +ldiv_t ldiv (long, long); + + + + +typedef struct { unsigned int quot, rem; } udiv_t; +typedef struct { unsigned long quot, rem; } uldiv_t; +udiv_t udiv (unsigned int, unsigned int); +uldiv_t uldiv (unsigned long, unsigned long); +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 2 3 + + + + + + + +#pragma intrinsic(__builtin_software_breakpoint) +extern void __builtin_software_breakpoint(void); +# 24 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 1 3 +# 26 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 133 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned short uintptr_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef short intptr_t; +# 164 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef signed char int8_t; + + + + +typedef short int16_t; +# 179 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int32_t; +# 192 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef int32_t intmax_t; + + + + + + + +typedef unsigned char uint8_t; + + + + +typedef unsigned short uint16_t; +# 215 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned long uint32_t; +# 233 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef uint32_t uintmax_t; +# 27 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 + +typedef int8_t int_fast8_t; + + + + +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; + +typedef int24_t int_least24_t; +typedef int24_t int_fast24_t; + +typedef int32_t int_least32_t; + + + + +typedef uint8_t uint_fast8_t; + + + + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; + +typedef uint24_t uint_least24_t; +typedef uint24_t uint_fast24_t; + +typedef uint32_t uint_least32_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/stdint.h" 1 3 +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +# 149 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 2 3 + + +#pragma intrinsic(__nop) +extern void __nop(void); + + +#pragma intrinsic(_delay) +extern __attribute__((nonreentrant)) void _delay(uint32_t); +#pragma intrinsic(_delaywdt) +extern __attribute__((nonreentrant)) void _delaywdt(uint32_t); +# 25 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 1 3 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 1 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 2 3 +# 6 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 + + + + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 1 3 +# 724 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 1 3 +# 44 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\__at.h" 1 3 +# 45 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 2 3 + + + + + + + +extern volatile unsigned char INDF __attribute__((address(0x000))); + +__asm("INDF equ 00h"); + + + + +extern volatile unsigned char TMR0 __attribute__((address(0x001))); + +__asm("TMR0 equ 01h"); + + + + +extern volatile unsigned char PCL __attribute__((address(0x002))); + +__asm("PCL equ 02h"); + + + + +extern volatile unsigned char STATUS __attribute__((address(0x003))); + +__asm("STATUS equ 03h"); + + +typedef union { + struct { + unsigned C :1; + unsigned DC :1; + unsigned Z :1; + unsigned nPD :1; + unsigned nTO :1; + unsigned RP :2; + unsigned IRP :1; + }; + struct { + unsigned :5; + unsigned RP0 :1; + unsigned RP1 :1; + }; + struct { + unsigned CARRY :1; + unsigned :1; + unsigned ZERO :1; + }; +} STATUSbits_t; +extern volatile STATUSbits_t STATUSbits __attribute__((address(0x003))); +# 159 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char FSR __attribute__((address(0x004))); + +__asm("FSR equ 04h"); + + + + +extern volatile unsigned char PORTA __attribute__((address(0x005))); + +__asm("PORTA equ 05h"); + + +typedef union { + struct { + unsigned RA0 :1; + unsigned RA1 :1; + unsigned RA2 :1; + unsigned RA3 :1; + unsigned RA4 :1; + unsigned RA5 :1; + unsigned RA6 :1; + unsigned RA7 :1; + }; +} PORTAbits_t; +extern volatile PORTAbits_t PORTAbits __attribute__((address(0x005))); +# 228 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTB __attribute__((address(0x006))); + +__asm("PORTB equ 06h"); + + +typedef union { + struct { + unsigned RB0 :1; + unsigned RB1 :1; + unsigned RB2 :1; + unsigned RB3 :1; + unsigned RB4 :1; + unsigned RB5 :1; + unsigned RB6 :1; + unsigned RB7 :1; + }; +} PORTBbits_t; +extern volatile PORTBbits_t PORTBbits __attribute__((address(0x006))); +# 290 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTC __attribute__((address(0x007))); + +__asm("PORTC equ 07h"); + + +typedef union { + struct { + unsigned RC0 :1; + unsigned RC1 :1; + unsigned RC2 :1; + unsigned RC3 :1; + unsigned RC4 :1; + unsigned RC5 :1; + unsigned RC6 :1; + unsigned RC7 :1; + }; +} PORTCbits_t; +extern volatile PORTCbits_t PORTCbits __attribute__((address(0x007))); +# 352 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTD __attribute__((address(0x008))); + +__asm("PORTD equ 08h"); + + +typedef union { + struct { + unsigned RD0 :1; + unsigned RD1 :1; + unsigned RD2 :1; + unsigned RD3 :1; + unsigned RD4 :1; + unsigned RD5 :1; + unsigned RD6 :1; + unsigned RD7 :1; + }; +} PORTDbits_t; +extern volatile PORTDbits_t PORTDbits __attribute__((address(0x008))); +# 414 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTE __attribute__((address(0x009))); + +__asm("PORTE equ 09h"); + + +typedef union { + struct { + unsigned RE0 :1; + unsigned RE1 :1; + unsigned RE2 :1; + unsigned RE3 :1; + }; +} PORTEbits_t; +extern volatile PORTEbits_t PORTEbits __attribute__((address(0x009))); +# 452 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCLATH __attribute__((address(0x00A))); + +__asm("PCLATH equ 0Ah"); + + + + +extern volatile unsigned char INTCON __attribute__((address(0x00B))); + +__asm("INTCON equ 0Bh"); + + +typedef union { + struct { + unsigned RBIF :1; + unsigned INTF :1; + unsigned T0IF :1; + unsigned RBIE :1; + unsigned INTE :1; + unsigned T0IE :1; + unsigned PEIE :1; + unsigned GIE :1; + }; + struct { + unsigned :2; + unsigned TMR0IF :1; + unsigned :2; + unsigned TMR0IE :1; + }; +} INTCONbits_t; +extern volatile INTCONbits_t INTCONbits __attribute__((address(0x00B))); +# 537 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR1 __attribute__((address(0x00C))); + +__asm("PIR1 equ 0Ch"); + + +typedef union { + struct { + unsigned TMR1IF :1; + unsigned TMR2IF :1; + unsigned CCP1IF :1; + unsigned SSPIF :1; + unsigned TXIF :1; + unsigned RCIF :1; + unsigned ADIF :1; + }; +} PIR1bits_t; +extern volatile PIR1bits_t PIR1bits __attribute__((address(0x00C))); +# 593 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR2 __attribute__((address(0x00D))); + +__asm("PIR2 equ 0Dh"); + + +typedef union { + struct { + unsigned CCP2IF :1; + unsigned :1; + unsigned ULPWUIF :1; + unsigned BCLIF :1; + unsigned EEIF :1; + unsigned C1IF :1; + unsigned C2IF :1; + unsigned OSFIF :1; + }; +} PIR2bits_t; +extern volatile PIR2bits_t PIR2bits __attribute__((address(0x00D))); +# 650 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short TMR1 __attribute__((address(0x00E))); + +__asm("TMR1 equ 0Eh"); + + + + +extern volatile unsigned char TMR1L __attribute__((address(0x00E))); + +__asm("TMR1L equ 0Eh"); + + + + +extern volatile unsigned char TMR1H __attribute__((address(0x00F))); + +__asm("TMR1H equ 0Fh"); + + + + +extern volatile unsigned char T1CON __attribute__((address(0x010))); + +__asm("T1CON equ 010h"); + + +typedef union { + struct { + unsigned TMR1ON :1; + unsigned TMR1CS :1; + unsigned nT1SYNC :1; + unsigned T1OSCEN :1; + unsigned T1CKPS :2; + unsigned TMR1GE :1; + unsigned T1GINV :1; + }; + struct { + unsigned :2; + unsigned T1INSYNC :1; + unsigned :1; + unsigned T1CKPS0 :1; + unsigned T1CKPS1 :1; + unsigned :1; + unsigned T1GIV :1; + }; + struct { + unsigned :2; + unsigned T1SYNC :1; + }; +} T1CONbits_t; +extern volatile T1CONbits_t T1CONbits __attribute__((address(0x010))); +# 765 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TMR2 __attribute__((address(0x011))); + +__asm("TMR2 equ 011h"); + + + + +extern volatile unsigned char T2CON __attribute__((address(0x012))); + +__asm("T2CON equ 012h"); + + +typedef union { + struct { + unsigned T2CKPS :2; + unsigned TMR2ON :1; + unsigned TOUTPS :4; + }; + struct { + unsigned T2CKPS0 :1; + unsigned T2CKPS1 :1; + unsigned :1; + unsigned TOUTPS0 :1; + unsigned TOUTPS1 :1; + unsigned TOUTPS2 :1; + unsigned TOUTPS3 :1; + }; +} T2CONbits_t; +extern volatile T2CONbits_t T2CONbits __attribute__((address(0x012))); +# 843 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPBUF __attribute__((address(0x013))); + +__asm("SSPBUF equ 013h"); + + + + +extern volatile unsigned char SSPCON __attribute__((address(0x014))); + +__asm("SSPCON equ 014h"); + + +typedef union { + struct { + unsigned SSPM :4; + unsigned CKP :1; + unsigned SSPEN :1; + unsigned SSPOV :1; + unsigned WCOL :1; + }; + struct { + unsigned SSPM0 :1; + unsigned SSPM1 :1; + unsigned SSPM2 :1; + unsigned SSPM3 :1; + }; +} SSPCONbits_t; +extern volatile SSPCONbits_t SSPCONbits __attribute__((address(0x014))); +# 920 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short CCPR1 __attribute__((address(0x015))); + +__asm("CCPR1 equ 015h"); + + + + +extern volatile unsigned char CCPR1L __attribute__((address(0x015))); + +__asm("CCPR1L equ 015h"); + + + + +extern volatile unsigned char CCPR1H __attribute__((address(0x016))); + +__asm("CCPR1H equ 016h"); + + + + +extern volatile unsigned char CCP1CON __attribute__((address(0x017))); + +__asm("CCP1CON equ 017h"); + + +typedef union { + struct { + unsigned CCP1M :4; + unsigned DC1B :2; + unsigned P1M :2; + }; + struct { + unsigned CCP1M0 :1; + unsigned CCP1M1 :1; + unsigned CCP1M2 :1; + unsigned CCP1M3 :1; + unsigned DC1B0 :1; + unsigned DC1B1 :1; + unsigned P1M0 :1; + unsigned P1M1 :1; + }; + struct { + unsigned :4; + unsigned CCP1Y :1; + unsigned CCP1X :1; + }; +} CCP1CONbits_t; +extern volatile CCP1CONbits_t CCP1CONbits __attribute__((address(0x017))); +# 1038 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char RCSTA __attribute__((address(0x018))); + +__asm("RCSTA equ 018h"); + + +typedef union { + struct { + unsigned RX9D :1; + unsigned OERR :1; + unsigned FERR :1; + unsigned ADDEN :1; + unsigned CREN :1; + unsigned SREN :1; + unsigned RX9 :1; + unsigned SPEN :1; + }; + struct { + unsigned RCD8 :1; + unsigned :5; + unsigned RC9 :1; + }; + struct { + unsigned :6; + unsigned nRC8 :1; + }; + struct { + unsigned :6; + unsigned RC8_9 :1; + }; +} RCSTAbits_t; +extern volatile RCSTAbits_t RCSTAbits __attribute__((address(0x018))); +# 1133 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXREG __attribute__((address(0x019))); + +__asm("TXREG equ 019h"); + + + + +extern volatile unsigned char RCREG __attribute__((address(0x01A))); + +__asm("RCREG equ 01Ah"); + + + + +extern volatile unsigned short CCPR2 __attribute__((address(0x01B))); + +__asm("CCPR2 equ 01Bh"); + + + + +extern volatile unsigned char CCPR2L __attribute__((address(0x01B))); + +__asm("CCPR2L equ 01Bh"); + + + + +extern volatile unsigned char CCPR2H __attribute__((address(0x01C))); + +__asm("CCPR2H equ 01Ch"); + + + + +extern volatile unsigned char CCP2CON __attribute__((address(0x01D))); + +__asm("CCP2CON equ 01Dh"); + + +typedef union { + struct { + unsigned CCP2M :4; + unsigned DC2B0 :1; + unsigned DC2B1 :1; + }; + struct { + unsigned CCP2M0 :1; + unsigned CCP2M1 :1; + unsigned CCP2M2 :1; + unsigned CCP2M3 :1; + unsigned CCP2Y :1; + unsigned CCP2X :1; + }; +} CCP2CONbits_t; +extern volatile CCP2CONbits_t CCP2CONbits __attribute__((address(0x01D))); +# 1238 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESH __attribute__((address(0x01E))); + +__asm("ADRESH equ 01Eh"); + + + + +extern volatile unsigned char ADCON0 __attribute__((address(0x01F))); + +__asm("ADCON0 equ 01Fh"); + + +typedef union { + struct { + unsigned ADON :1; + unsigned GO_nDONE :1; + unsigned CHS :4; + unsigned ADCS :2; + }; + struct { + unsigned :1; + unsigned GO :1; + unsigned CHS0 :1; + unsigned CHS1 :1; + unsigned CHS2 :1; + unsigned CHS3 :1; + unsigned ADCS0 :1; + unsigned ADCS1 :1; + }; + struct { + unsigned :1; + unsigned nDONE :1; + }; + struct { + unsigned :1; + unsigned GO_DONE :1; + }; +} ADCON0bits_t; +extern volatile ADCON0bits_t ADCON0bits __attribute__((address(0x01F))); +# 1346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OPTION_REG __attribute__((address(0x081))); + +__asm("OPTION_REG equ 081h"); + + +typedef union { + struct { + unsigned PS :3; + unsigned PSA :1; + unsigned T0SE :1; + unsigned T0CS :1; + unsigned INTEDG :1; + unsigned nRBPU :1; + }; + struct { + unsigned PS0 :1; + unsigned PS1 :1; + unsigned PS2 :1; + }; +} OPTION_REGbits_t; +extern volatile OPTION_REGbits_t OPTION_REGbits __attribute__((address(0x081))); +# 1416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISA __attribute__((address(0x085))); + +__asm("TRISA equ 085h"); + + +typedef union { + struct { + unsigned TRISA0 :1; + unsigned TRISA1 :1; + unsigned TRISA2 :1; + unsigned TRISA3 :1; + unsigned TRISA4 :1; + unsigned TRISA5 :1; + unsigned TRISA6 :1; + unsigned TRISA7 :1; + }; +} TRISAbits_t; +extern volatile TRISAbits_t TRISAbits __attribute__((address(0x085))); +# 1478 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISB __attribute__((address(0x086))); + +__asm("TRISB equ 086h"); + + +typedef union { + struct { + unsigned TRISB0 :1; + unsigned TRISB1 :1; + unsigned TRISB2 :1; + unsigned TRISB3 :1; + unsigned TRISB4 :1; + unsigned TRISB5 :1; + unsigned TRISB6 :1; + unsigned TRISB7 :1; + }; +} TRISBbits_t; +extern volatile TRISBbits_t TRISBbits __attribute__((address(0x086))); +# 1540 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISC __attribute__((address(0x087))); + +__asm("TRISC equ 087h"); + + +typedef union { + struct { + unsigned TRISC0 :1; + unsigned TRISC1 :1; + unsigned TRISC2 :1; + unsigned TRISC3 :1; + unsigned TRISC4 :1; + unsigned TRISC5 :1; + unsigned TRISC6 :1; + unsigned TRISC7 :1; + }; +} TRISCbits_t; +extern volatile TRISCbits_t TRISCbits __attribute__((address(0x087))); +# 1602 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISD __attribute__((address(0x088))); + +__asm("TRISD equ 088h"); + + +typedef union { + struct { + unsigned TRISD0 :1; + unsigned TRISD1 :1; + unsigned TRISD2 :1; + unsigned TRISD3 :1; + unsigned TRISD4 :1; + unsigned TRISD5 :1; + unsigned TRISD6 :1; + unsigned TRISD7 :1; + }; +} TRISDbits_t; +extern volatile TRISDbits_t TRISDbits __attribute__((address(0x088))); +# 1664 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISE __attribute__((address(0x089))); + +__asm("TRISE equ 089h"); + + +typedef union { + struct { + unsigned TRISE0 :1; + unsigned TRISE1 :1; + unsigned TRISE2 :1; + unsigned TRISE3 :1; + }; +} TRISEbits_t; +extern volatile TRISEbits_t TRISEbits __attribute__((address(0x089))); +# 1702 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE1 __attribute__((address(0x08C))); + +__asm("PIE1 equ 08Ch"); + + +typedef union { + struct { + unsigned TMR1IE :1; + unsigned TMR2IE :1; + unsigned CCP1IE :1; + unsigned SSPIE :1; + unsigned TXIE :1; + unsigned RCIE :1; + unsigned ADIE :1; + }; +} PIE1bits_t; +extern volatile PIE1bits_t PIE1bits __attribute__((address(0x08C))); +# 1758 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE2 __attribute__((address(0x08D))); + +__asm("PIE2 equ 08Dh"); + + +typedef union { + struct { + unsigned CCP2IE :1; + unsigned :1; + unsigned ULPWUIE :1; + unsigned BCLIE :1; + unsigned EEIE :1; + unsigned C1IE :1; + unsigned C2IE :1; + unsigned OSFIE :1; + }; +} PIE2bits_t; +extern volatile PIE2bits_t PIE2bits __attribute__((address(0x08D))); +# 1815 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCON __attribute__((address(0x08E))); + +__asm("PCON equ 08Eh"); + + +typedef union { + struct { + unsigned nBOR :1; + unsigned nPOR :1; + unsigned :2; + unsigned SBOREN :1; + unsigned ULPWUE :1; + }; + struct { + unsigned nBO :1; + }; +} PCONbits_t; +extern volatile PCONbits_t PCONbits __attribute__((address(0x08E))); +# 1862 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCCON __attribute__((address(0x08F))); + +__asm("OSCCON equ 08Fh"); + + +typedef union { + struct { + unsigned SCS :1; + unsigned LTS :1; + unsigned HTS :1; + unsigned OSTS :1; + unsigned IRCF :3; + }; + struct { + unsigned :4; + unsigned IRCF0 :1; + unsigned IRCF1 :1; + unsigned IRCF2 :1; + }; +} OSCCONbits_t; +extern volatile OSCCONbits_t OSCCONbits __attribute__((address(0x08F))); +# 1927 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCTUNE __attribute__((address(0x090))); + +__asm("OSCTUNE equ 090h"); + + +typedef union { + struct { + unsigned TUN :5; + }; + struct { + unsigned TUN0 :1; + unsigned TUN1 :1; + unsigned TUN2 :1; + unsigned TUN3 :1; + unsigned TUN4 :1; + }; +} OSCTUNEbits_t; +extern volatile OSCTUNEbits_t OSCTUNEbits __attribute__((address(0x090))); +# 1979 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPCON2 __attribute__((address(0x091))); + +__asm("SSPCON2 equ 091h"); + + +typedef union { + struct { + unsigned SEN :1; + unsigned RSEN :1; + unsigned PEN :1; + unsigned RCEN :1; + unsigned ACKEN :1; + unsigned ACKDT :1; + unsigned ACKSTAT :1; + unsigned GCEN :1; + }; +} SSPCON2bits_t; +extern volatile SSPCON2bits_t SSPCON2bits __attribute__((address(0x091))); +# 2041 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PR2 __attribute__((address(0x092))); + +__asm("PR2 equ 092h"); + + + + +extern volatile unsigned char SSPADD __attribute__((address(0x093))); + +__asm("SSPADD equ 093h"); + + + + +extern volatile unsigned char SSPMSK __attribute__((address(0x093))); + +__asm("SSPMSK equ 093h"); + + +extern volatile unsigned char MSK __attribute__((address(0x093))); + +__asm("MSK equ 093h"); + + +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} SSPMSKbits_t; +extern volatile SSPMSKbits_t SSPMSKbits __attribute__((address(0x093))); +# 2120 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} MSKbits_t; +extern volatile MSKbits_t MSKbits __attribute__((address(0x093))); +# 2177 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPSTAT __attribute__((address(0x094))); + +__asm("SSPSTAT equ 094h"); + + +typedef union { + struct { + unsigned BF :1; + unsigned UA :1; + unsigned R_nW :1; + unsigned S :1; + unsigned P :1; + unsigned D_nA :1; + unsigned CKE :1; + unsigned SMP :1; + }; + struct { + unsigned :2; + unsigned R :1; + unsigned :2; + unsigned D :1; + }; + struct { + unsigned :2; + unsigned I2C_READ :1; + unsigned I2C_START :1; + unsigned I2C_STOP :1; + unsigned I2C_DATA :1; + }; + struct { + unsigned :2; + unsigned nW :1; + unsigned :2; + unsigned nA :1; + }; + struct { + unsigned :2; + unsigned nWRITE :1; + unsigned :2; + unsigned nADDRESS :1; + }; + struct { + unsigned :2; + unsigned R_W :1; + unsigned :2; + unsigned D_A :1; + }; + struct { + unsigned :2; + unsigned READ_WRITE :1; + unsigned :2; + unsigned DATA_ADDRESS :1; + }; +} SSPSTATbits_t; +extern volatile SSPSTATbits_t SSPSTATbits __attribute__((address(0x094))); +# 2346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WPUB __attribute__((address(0x095))); + +__asm("WPUB equ 095h"); + + +typedef union { + struct { + unsigned WPUB :8; + }; + struct { + unsigned WPUB0 :1; + unsigned WPUB1 :1; + unsigned WPUB2 :1; + unsigned WPUB3 :1; + unsigned WPUB4 :1; + unsigned WPUB5 :1; + unsigned WPUB6 :1; + unsigned WPUB7 :1; + }; +} WPUBbits_t; +extern volatile WPUBbits_t WPUBbits __attribute__((address(0x095))); +# 2416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char IOCB __attribute__((address(0x096))); + +__asm("IOCB equ 096h"); + + +typedef union { + struct { + unsigned IOCB :8; + }; + struct { + unsigned IOCB0 :1; + unsigned IOCB1 :1; + unsigned IOCB2 :1; + unsigned IOCB3 :1; + unsigned IOCB4 :1; + unsigned IOCB5 :1; + unsigned IOCB6 :1; + unsigned IOCB7 :1; + }; +} IOCBbits_t; +extern volatile IOCBbits_t IOCBbits __attribute__((address(0x096))); +# 2486 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char VRCON __attribute__((address(0x097))); + +__asm("VRCON equ 097h"); + + +typedef union { + struct { + unsigned VR :4; + unsigned VRSS :1; + unsigned VRR :1; + unsigned VROE :1; + unsigned VREN :1; + }; + struct { + unsigned VR0 :1; + unsigned VR1 :1; + unsigned VR2 :1; + unsigned VR3 :1; + }; +} VRCONbits_t; +extern volatile VRCONbits_t VRCONbits __attribute__((address(0x097))); +# 2556 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXSTA __attribute__((address(0x098))); + +__asm("TXSTA equ 098h"); + + +typedef union { + struct { + unsigned TX9D :1; + unsigned TRMT :1; + unsigned BRGH :1; + unsigned SENDB :1; + unsigned SYNC :1; + unsigned TXEN :1; + unsigned TX9 :1; + unsigned CSRC :1; + }; + struct { + unsigned TXD8 :1; + unsigned :5; + unsigned nTX8 :1; + }; + struct { + unsigned :6; + unsigned TX8_9 :1; + }; +} TXSTAbits_t; +extern volatile TXSTAbits_t TXSTAbits __attribute__((address(0x098))); +# 2642 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRG __attribute__((address(0x099))); + +__asm("SPBRG equ 099h"); + + +typedef union { + struct { + unsigned BRG0 :1; + unsigned BRG1 :1; + unsigned BRG2 :1; + unsigned BRG3 :1; + unsigned BRG4 :1; + unsigned BRG5 :1; + unsigned BRG6 :1; + unsigned BRG7 :1; + }; +} SPBRGbits_t; +extern volatile SPBRGbits_t SPBRGbits __attribute__((address(0x099))); +# 2704 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRGH __attribute__((address(0x09A))); + +__asm("SPBRGH equ 09Ah"); + + +typedef union { + struct { + unsigned SPBRGH :8; + }; + struct { + unsigned BRG8 :1; + unsigned BRG9 :1; + unsigned BRG10 :1; + unsigned BRG11 :1; + unsigned BRG12 :1; + unsigned BRG13 :1; + unsigned BRG14 :1; + unsigned BRG15 :1; + }; +} SPBRGHbits_t; +extern volatile SPBRGHbits_t SPBRGHbits __attribute__((address(0x09A))); +# 2774 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PWM1CON __attribute__((address(0x09B))); + +__asm("PWM1CON equ 09Bh"); + + +typedef union { + struct { + unsigned PDC :7; + unsigned PRSEN :1; + }; + struct { + unsigned PDC0 :1; + unsigned PDC1 :1; + unsigned PDC2 :1; + unsigned PDC3 :1; + unsigned PDC4 :1; + unsigned PDC5 :1; + unsigned PDC6 :1; + }; +} PWM1CONbits_t; +extern volatile PWM1CONbits_t PWM1CONbits __attribute__((address(0x09B))); +# 2844 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ECCPAS __attribute__((address(0x09C))); + +__asm("ECCPAS equ 09Ch"); + + +typedef union { + struct { + unsigned PSSBD :2; + unsigned PSSAC :2; + unsigned ECCPAS :3; + unsigned ECCPASE :1; + }; + struct { + unsigned PSSBD0 :1; + unsigned PSSBD1 :1; + unsigned PSSAC0 :1; + unsigned PSSAC1 :1; + unsigned ECCPAS0 :1; + unsigned ECCPAS1 :1; + unsigned ECCPAS2 :1; + }; +} ECCPASbits_t; +extern volatile ECCPASbits_t ECCPASbits __attribute__((address(0x09C))); +# 2926 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PSTRCON __attribute__((address(0x09D))); + +__asm("PSTRCON equ 09Dh"); + + +typedef union { + struct { + unsigned STRA :1; + unsigned STRB :1; + unsigned STRC :1; + unsigned STRD :1; + unsigned STRSYNC :1; + }; +} PSTRCONbits_t; +extern volatile PSTRCONbits_t PSTRCONbits __attribute__((address(0x09D))); +# 2970 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESL __attribute__((address(0x09E))); + +__asm("ADRESL equ 09Eh"); + + + + +extern volatile unsigned char ADCON1 __attribute__((address(0x09F))); + +__asm("ADCON1 equ 09Fh"); + + +typedef union { + struct { + unsigned :4; + unsigned VCFG0 :1; + unsigned VCFG1 :1; + unsigned :1; + unsigned ADFM :1; + }; +} ADCON1bits_t; +extern volatile ADCON1bits_t ADCON1bits __attribute__((address(0x09F))); +# 3011 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WDTCON __attribute__((address(0x105))); + +__asm("WDTCON equ 0105h"); + + +typedef union { + struct { + unsigned SWDTEN :1; + unsigned WDTPS :4; + }; + struct { + unsigned :1; + unsigned WDTPS0 :1; + unsigned WDTPS1 :1; + unsigned WDTPS2 :1; + unsigned WDTPS3 :1; + }; +} WDTCONbits_t; +extern volatile WDTCONbits_t WDTCONbits __attribute__((address(0x105))); +# 3064 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM1CON0 __attribute__((address(0x107))); + +__asm("CM1CON0 equ 0107h"); + + +typedef union { + struct { + unsigned C1CH :2; + unsigned C1R :1; + unsigned :1; + unsigned C1POL :1; + unsigned C1OE :1; + unsigned C1OUT :1; + unsigned C1ON :1; + }; + struct { + unsigned C1CH0 :1; + unsigned C1CH1 :1; + }; +} CM1CON0bits_t; +extern volatile CM1CON0bits_t CM1CON0bits __attribute__((address(0x107))); +# 3129 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON0 __attribute__((address(0x108))); + +__asm("CM2CON0 equ 0108h"); + + +typedef union { + struct { + unsigned C2CH :2; + unsigned C2R :1; + unsigned :1; + unsigned C2POL :1; + unsigned C2OE :1; + unsigned C2OUT :1; + unsigned C2ON :1; + }; + struct { + unsigned C2CH0 :1; + unsigned C2CH1 :1; + }; +} CM2CON0bits_t; +extern volatile CM2CON0bits_t CM2CON0bits __attribute__((address(0x108))); +# 3194 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON1 __attribute__((address(0x109))); + +__asm("CM2CON1 equ 0109h"); + + +typedef union { + struct { + unsigned C2SYNC :1; + unsigned T1GSS :1; + unsigned :2; + unsigned C2RSEL :1; + unsigned C1RSEL :1; + unsigned MC2OUT :1; + unsigned MC1OUT :1; + }; +} CM2CON1bits_t; +extern volatile CM2CON1bits_t CM2CON1bits __attribute__((address(0x109))); +# 3245 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EEDATA __attribute__((address(0x10C))); + +__asm("EEDATA equ 010Ch"); + + +extern volatile unsigned char EEDAT __attribute__((address(0x10C))); + +__asm("EEDAT equ 010Ch"); + + + + +extern volatile unsigned char EEADR __attribute__((address(0x10D))); + +__asm("EEADR equ 010Dh"); + + + + +extern volatile unsigned char EEDATH __attribute__((address(0x10E))); + +__asm("EEDATH equ 010Eh"); + + + + +extern volatile unsigned char EEADRH __attribute__((address(0x10F))); + +__asm("EEADRH equ 010Fh"); + + + + +extern volatile unsigned char SRCON __attribute__((address(0x185))); + +__asm("SRCON equ 0185h"); + + +typedef union { + struct { + unsigned FVREN :1; + unsigned :1; + unsigned PULSR :1; + unsigned PULSS :1; + unsigned C2REN :1; + unsigned C1SEN :1; + unsigned SR0 :1; + unsigned SR1 :1; + }; +} SRCONbits_t; +extern volatile SRCONbits_t SRCONbits __attribute__((address(0x185))); +# 3335 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char BAUDCTL __attribute__((address(0x187))); + +__asm("BAUDCTL equ 0187h"); + + +typedef union { + struct { + unsigned ABDEN :1; + unsigned WUE :1; + unsigned :1; + unsigned BRG16 :1; + unsigned SCKP :1; + unsigned :1; + unsigned RCIDL :1; + unsigned ABDOVF :1; + }; +} BAUDCTLbits_t; +extern volatile BAUDCTLbits_t BAUDCTLbits __attribute__((address(0x187))); +# 3387 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSEL __attribute__((address(0x188))); + +__asm("ANSEL equ 0188h"); + + +typedef union { + struct { + unsigned ANS0 :1; + unsigned ANS1 :1; + unsigned ANS2 :1; + unsigned ANS3 :1; + unsigned ANS4 :1; + unsigned ANS5 :1; + unsigned ANS6 :1; + unsigned ANS7 :1; + }; +} ANSELbits_t; +extern volatile ANSELbits_t ANSELbits __attribute__((address(0x188))); +# 3449 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSELH __attribute__((address(0x189))); + +__asm("ANSELH equ 0189h"); + + +typedef union { + struct { + unsigned ANS8 :1; + unsigned ANS9 :1; + unsigned ANS10 :1; + unsigned ANS11 :1; + unsigned ANS12 :1; + unsigned ANS13 :1; + }; +} ANSELHbits_t; +extern volatile ANSELHbits_t ANSELHbits __attribute__((address(0x189))); +# 3499 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON1 __attribute__((address(0x18C))); + +__asm("EECON1 equ 018Ch"); + + +typedef union { + struct { + unsigned RD :1; + unsigned WR :1; + unsigned WREN :1; + unsigned WRERR :1; + unsigned :3; + unsigned EEPGD :1; + }; +} EECON1bits_t; +extern volatile EECON1bits_t EECON1bits __attribute__((address(0x18C))); +# 3544 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON2 __attribute__((address(0x18D))); + +__asm("EECON2 equ 018Dh"); +# 3561 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile __bit ABDEN __attribute__((address(0xC38))); + + +extern volatile __bit ABDOVF __attribute__((address(0xC3F))); + + +extern volatile __bit ACKDT __attribute__((address(0x48D))); + + +extern volatile __bit ACKEN __attribute__((address(0x48C))); + + +extern volatile __bit ACKSTAT __attribute__((address(0x48E))); + + +extern volatile __bit ADCS0 __attribute__((address(0xFE))); + + +extern volatile __bit ADCS1 __attribute__((address(0xFF))); + + +extern volatile __bit ADDEN __attribute__((address(0xC3))); + + +extern volatile __bit ADFM __attribute__((address(0x4FF))); + + +extern volatile __bit ADIE __attribute__((address(0x466))); + + +extern volatile __bit ADIF __attribute__((address(0x66))); + + +extern volatile __bit ADON __attribute__((address(0xF8))); + + +extern volatile __bit ANS0 __attribute__((address(0xC40))); + + +extern volatile __bit ANS1 __attribute__((address(0xC41))); + + +extern volatile __bit ANS10 __attribute__((address(0xC4A))); + + +extern volatile __bit ANS11 __attribute__((address(0xC4B))); + + +extern volatile __bit ANS12 __attribute__((address(0xC4C))); + + +extern volatile __bit ANS13 __attribute__((address(0xC4D))); + + +extern volatile __bit ANS2 __attribute__((address(0xC42))); + + +extern volatile __bit ANS3 __attribute__((address(0xC43))); + + +extern volatile __bit ANS4 __attribute__((address(0xC44))); + + +extern volatile __bit ANS5 __attribute__((address(0xC45))); + + +extern volatile __bit ANS6 __attribute__((address(0xC46))); + + +extern volatile __bit ANS7 __attribute__((address(0xC47))); + + +extern volatile __bit ANS8 __attribute__((address(0xC48))); + + +extern volatile __bit ANS9 __attribute__((address(0xC49))); + + +extern volatile __bit BCLIE __attribute__((address(0x46B))); + + +extern volatile __bit BCLIF __attribute__((address(0x6B))); + + +extern volatile __bit BF __attribute__((address(0x4A0))); + + +extern volatile __bit BRG0 __attribute__((address(0x4C8))); + + +extern volatile __bit BRG1 __attribute__((address(0x4C9))); + + +extern volatile __bit BRG10 __attribute__((address(0x4D2))); + + +extern volatile __bit BRG11 __attribute__((address(0x4D3))); + + +extern volatile __bit BRG12 __attribute__((address(0x4D4))); + + +extern volatile __bit BRG13 __attribute__((address(0x4D5))); + + +extern volatile __bit BRG14 __attribute__((address(0x4D6))); + + +extern volatile __bit BRG15 __attribute__((address(0x4D7))); + + +extern volatile __bit BRG16 __attribute__((address(0xC3B))); + + +extern volatile __bit BRG2 __attribute__((address(0x4CA))); + + +extern volatile __bit BRG3 __attribute__((address(0x4CB))); + + +extern volatile __bit BRG4 __attribute__((address(0x4CC))); + + +extern volatile __bit BRG5 __attribute__((address(0x4CD))); + + +extern volatile __bit BRG6 __attribute__((address(0x4CE))); + + +extern volatile __bit BRG7 __attribute__((address(0x4CF))); + + +extern volatile __bit BRG8 __attribute__((address(0x4D0))); + + +extern volatile __bit BRG9 __attribute__((address(0x4D1))); + + +extern volatile __bit BRGH __attribute__((address(0x4C2))); + + +extern volatile __bit C1CH0 __attribute__((address(0x838))); + + +extern volatile __bit C1CH1 __attribute__((address(0x839))); + + +extern volatile __bit C1IE __attribute__((address(0x46D))); + + +extern volatile __bit C1IF __attribute__((address(0x6D))); + + +extern volatile __bit C1OE __attribute__((address(0x83D))); + + +extern volatile __bit C1ON __attribute__((address(0x83F))); + + +extern volatile __bit C1OUT __attribute__((address(0x83E))); + + +extern volatile __bit C1POL __attribute__((address(0x83C))); + + +extern volatile __bit C1R __attribute__((address(0x83A))); + + +extern volatile __bit C1RSEL __attribute__((address(0x84D))); + + +extern volatile __bit C1SEN __attribute__((address(0xC2D))); + + +extern volatile __bit C2CH0 __attribute__((address(0x840))); + + +extern volatile __bit C2CH1 __attribute__((address(0x841))); + + +extern volatile __bit C2IE __attribute__((address(0x46E))); + + +extern volatile __bit C2IF __attribute__((address(0x6E))); + + +extern volatile __bit C2OE __attribute__((address(0x845))); + + +extern volatile __bit C2ON __attribute__((address(0x847))); + + +extern volatile __bit C2OUT __attribute__((address(0x846))); + + +extern volatile __bit C2POL __attribute__((address(0x844))); + + +extern volatile __bit C2R __attribute__((address(0x842))); + + +extern volatile __bit C2REN __attribute__((address(0xC2C))); + + +extern volatile __bit C2RSEL __attribute__((address(0x84C))); + + +extern volatile __bit C2SYNC __attribute__((address(0x848))); + + +extern volatile __bit CARRY __attribute__((address(0x18))); + + +extern volatile __bit CCP1IE __attribute__((address(0x462))); + + +extern volatile __bit CCP1IF __attribute__((address(0x62))); + + +extern volatile __bit CCP1M0 __attribute__((address(0xB8))); + + +extern volatile __bit CCP1M1 __attribute__((address(0xB9))); + + +extern volatile __bit CCP1M2 __attribute__((address(0xBA))); + + +extern volatile __bit CCP1M3 __attribute__((address(0xBB))); + + +extern volatile __bit CCP1X __attribute__((address(0xBD))); + + +extern volatile __bit CCP1Y __attribute__((address(0xBC))); + + +extern volatile __bit CCP2IE __attribute__((address(0x468))); + + +extern volatile __bit CCP2IF __attribute__((address(0x68))); + + +extern volatile __bit CCP2M0 __attribute__((address(0xE8))); + + +extern volatile __bit CCP2M1 __attribute__((address(0xE9))); + + +extern volatile __bit CCP2M2 __attribute__((address(0xEA))); + + +extern volatile __bit CCP2M3 __attribute__((address(0xEB))); + + +extern volatile __bit CCP2X __attribute__((address(0xED))); + + +extern volatile __bit CCP2Y __attribute__((address(0xEC))); + + +extern volatile __bit CHS0 __attribute__((address(0xFA))); + + +extern volatile __bit CHS1 __attribute__((address(0xFB))); + + +extern volatile __bit CHS2 __attribute__((address(0xFC))); + + +extern volatile __bit CHS3 __attribute__((address(0xFD))); + + +extern volatile __bit CKE __attribute__((address(0x4A6))); + + +extern volatile __bit CKP __attribute__((address(0xA4))); + + +extern volatile __bit CREN __attribute__((address(0xC4))); + + +extern volatile __bit CSRC __attribute__((address(0x4C7))); + + +extern volatile __bit DATA_ADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit DC __attribute__((address(0x19))); + + +extern volatile __bit DC1B0 __attribute__((address(0xBC))); + + +extern volatile __bit DC1B1 __attribute__((address(0xBD))); + + +extern volatile __bit DC2B0 __attribute__((address(0xEC))); + + +extern volatile __bit DC2B1 __attribute__((address(0xED))); + + +extern volatile __bit D_A __attribute__((address(0x4A5))); + + +extern volatile __bit D_nA __attribute__((address(0x4A5))); + + +extern volatile __bit ECCPAS0 __attribute__((address(0x4E4))); + + +extern volatile __bit ECCPAS1 __attribute__((address(0x4E5))); + + +extern volatile __bit ECCPAS2 __attribute__((address(0x4E6))); + + +extern volatile __bit ECCPASE __attribute__((address(0x4E7))); + + +extern volatile __bit EEIE __attribute__((address(0x46C))); + + +extern volatile __bit EEIF __attribute__((address(0x6C))); + + +extern volatile __bit EEPGD __attribute__((address(0xC67))); + + +extern volatile __bit FERR __attribute__((address(0xC2))); + + +extern volatile __bit FVREN __attribute__((address(0xC28))); + + +extern volatile __bit GCEN __attribute__((address(0x48F))); + + +extern volatile __bit GIE __attribute__((address(0x5F))); + + +extern volatile __bit GO __attribute__((address(0xF9))); + + +extern volatile __bit GO_DONE __attribute__((address(0xF9))); + + +extern volatile __bit GO_nDONE __attribute__((address(0xF9))); + + +extern volatile __bit HTS __attribute__((address(0x47A))); + + +extern volatile __bit I2C_DATA __attribute__((address(0x4A5))); + + +extern volatile __bit I2C_READ __attribute__((address(0x4A2))); + + +extern volatile __bit I2C_START __attribute__((address(0x4A3))); + + +extern volatile __bit I2C_STOP __attribute__((address(0x4A4))); + + +extern volatile __bit INTE __attribute__((address(0x5C))); + + +extern volatile __bit INTEDG __attribute__((address(0x40E))); + + +extern volatile __bit INTF __attribute__((address(0x59))); + + +extern volatile __bit IOCB0 __attribute__((address(0x4B0))); + + +extern volatile __bit IOCB1 __attribute__((address(0x4B1))); + + +extern volatile __bit IOCB2 __attribute__((address(0x4B2))); + + +extern volatile __bit IOCB3 __attribute__((address(0x4B3))); + + +extern volatile __bit IOCB4 __attribute__((address(0x4B4))); + + +extern volatile __bit IOCB5 __attribute__((address(0x4B5))); + + +extern volatile __bit IOCB6 __attribute__((address(0x4B6))); + + +extern volatile __bit IOCB7 __attribute__((address(0x4B7))); + + +extern volatile __bit IRCF0 __attribute__((address(0x47C))); + + +extern volatile __bit IRCF1 __attribute__((address(0x47D))); + + +extern volatile __bit IRCF2 __attribute__((address(0x47E))); + + +extern volatile __bit IRP __attribute__((address(0x1F))); + + +extern volatile __bit LTS __attribute__((address(0x479))); + + +extern volatile __bit MC1OUT __attribute__((address(0x84F))); + + +extern volatile __bit MC2OUT __attribute__((address(0x84E))); + + +extern volatile __bit MSK0 __attribute__((address(0x498))); + + +extern volatile __bit MSK1 __attribute__((address(0x499))); + + +extern volatile __bit MSK2 __attribute__((address(0x49A))); + + +extern volatile __bit MSK3 __attribute__((address(0x49B))); + + +extern volatile __bit MSK4 __attribute__((address(0x49C))); + + +extern volatile __bit MSK5 __attribute__((address(0x49D))); + + +extern volatile __bit MSK6 __attribute__((address(0x49E))); + + +extern volatile __bit MSK7 __attribute__((address(0x49F))); + + +extern volatile __bit OERR __attribute__((address(0xC1))); + + +extern volatile __bit OSFIE __attribute__((address(0x46F))); + + +extern volatile __bit OSFIF __attribute__((address(0x6F))); + + +extern volatile __bit OSTS __attribute__((address(0x47B))); + + +extern volatile __bit P1M0 __attribute__((address(0xBE))); + + +extern volatile __bit P1M1 __attribute__((address(0xBF))); + + +extern volatile __bit PDC0 __attribute__((address(0x4D8))); + + +extern volatile __bit PDC1 __attribute__((address(0x4D9))); + + +extern volatile __bit PDC2 __attribute__((address(0x4DA))); + + +extern volatile __bit PDC3 __attribute__((address(0x4DB))); + + +extern volatile __bit PDC4 __attribute__((address(0x4DC))); + + +extern volatile __bit PDC5 __attribute__((address(0x4DD))); + + +extern volatile __bit PDC6 __attribute__((address(0x4DE))); + + +extern volatile __bit PEIE __attribute__((address(0x5E))); + + +extern volatile __bit PEN __attribute__((address(0x48A))); + + +extern volatile __bit PRSEN __attribute__((address(0x4DF))); + + +extern volatile __bit PS0 __attribute__((address(0x408))); + + +extern volatile __bit PS1 __attribute__((address(0x409))); + + +extern volatile __bit PS2 __attribute__((address(0x40A))); + + +extern volatile __bit PSA __attribute__((address(0x40B))); + + +extern volatile __bit PSSAC0 __attribute__((address(0x4E2))); + + +extern volatile __bit PSSAC1 __attribute__((address(0x4E3))); + + +extern volatile __bit PSSBD0 __attribute__((address(0x4E0))); + + +extern volatile __bit PSSBD1 __attribute__((address(0x4E1))); + + +extern volatile __bit PULSR __attribute__((address(0xC2A))); + + +extern volatile __bit PULSS __attribute__((address(0xC2B))); + + +extern volatile __bit RA0 __attribute__((address(0x28))); + + +extern volatile __bit RA1 __attribute__((address(0x29))); + + +extern volatile __bit RA2 __attribute__((address(0x2A))); + + +extern volatile __bit RA3 __attribute__((address(0x2B))); + + +extern volatile __bit RA4 __attribute__((address(0x2C))); + + +extern volatile __bit RA5 __attribute__((address(0x2D))); + + +extern volatile __bit RA6 __attribute__((address(0x2E))); + + +extern volatile __bit RA7 __attribute__((address(0x2F))); + + +extern volatile __bit RB0 __attribute__((address(0x30))); + + +extern volatile __bit RB1 __attribute__((address(0x31))); + + +extern volatile __bit RB2 __attribute__((address(0x32))); + + +extern volatile __bit RB3 __attribute__((address(0x33))); + + +extern volatile __bit RB4 __attribute__((address(0x34))); + + +extern volatile __bit RB5 __attribute__((address(0x35))); + + +extern volatile __bit RB6 __attribute__((address(0x36))); + + +extern volatile __bit RB7 __attribute__((address(0x37))); + + +extern volatile __bit RBIE __attribute__((address(0x5B))); + + +extern volatile __bit RBIF __attribute__((address(0x58))); + + +extern volatile __bit RC0 __attribute__((address(0x38))); + + +extern volatile __bit RC1 __attribute__((address(0x39))); + + +extern volatile __bit RC2 __attribute__((address(0x3A))); + + +extern volatile __bit RC3 __attribute__((address(0x3B))); + + +extern volatile __bit RC4 __attribute__((address(0x3C))); + + +extern volatile __bit RC5 __attribute__((address(0x3D))); + + +extern volatile __bit RC6 __attribute__((address(0x3E))); + + +extern volatile __bit RC7 __attribute__((address(0x3F))); + + +extern volatile __bit RC8_9 __attribute__((address(0xC6))); + + +extern volatile __bit RC9 __attribute__((address(0xC6))); + + +extern volatile __bit RCD8 __attribute__((address(0xC0))); + + +extern volatile __bit RCEN __attribute__((address(0x48B))); + + +extern volatile __bit RCIDL __attribute__((address(0xC3E))); + + +extern volatile __bit RCIE __attribute__((address(0x465))); + + +extern volatile __bit RCIF __attribute__((address(0x65))); + + +extern volatile __bit RD __attribute__((address(0xC60))); + + +extern volatile __bit RD0 __attribute__((address(0x40))); + + +extern volatile __bit RD1 __attribute__((address(0x41))); + + +extern volatile __bit RD2 __attribute__((address(0x42))); + + +extern volatile __bit RD3 __attribute__((address(0x43))); + + +extern volatile __bit RD4 __attribute__((address(0x44))); + + +extern volatile __bit RD5 __attribute__((address(0x45))); + + +extern volatile __bit RD6 __attribute__((address(0x46))); + + +extern volatile __bit RD7 __attribute__((address(0x47))); + + +extern volatile __bit RE0 __attribute__((address(0x48))); + + +extern volatile __bit RE1 __attribute__((address(0x49))); + + +extern volatile __bit RE2 __attribute__((address(0x4A))); + + +extern volatile __bit RE3 __attribute__((address(0x4B))); + + +extern volatile __bit READ_WRITE __attribute__((address(0x4A2))); + + +extern volatile __bit RP0 __attribute__((address(0x1D))); + + +extern volatile __bit RP1 __attribute__((address(0x1E))); + + +extern volatile __bit RSEN __attribute__((address(0x489))); + + +extern volatile __bit RX9 __attribute__((address(0xC6))); + + +extern volatile __bit RX9D __attribute__((address(0xC0))); + + +extern volatile __bit R_W __attribute__((address(0x4A2))); + + +extern volatile __bit R_nW __attribute__((address(0x4A2))); + + +extern volatile __bit SBOREN __attribute__((address(0x474))); + + +extern volatile __bit SCKP __attribute__((address(0xC3C))); + + +extern volatile __bit SCS __attribute__((address(0x478))); + + +extern volatile __bit SEN __attribute__((address(0x488))); + + +extern volatile __bit SENDB __attribute__((address(0x4C3))); + + +extern volatile __bit SMP __attribute__((address(0x4A7))); + + +extern volatile __bit SPEN __attribute__((address(0xC7))); + + +extern volatile __bit SR0 __attribute__((address(0xC2E))); + + +extern volatile __bit SR1 __attribute__((address(0xC2F))); + + +extern volatile __bit SREN __attribute__((address(0xC5))); + + +extern volatile __bit SSPEN __attribute__((address(0xA5))); + + +extern volatile __bit SSPIE __attribute__((address(0x463))); + + +extern volatile __bit SSPIF __attribute__((address(0x63))); + + +extern volatile __bit SSPM0 __attribute__((address(0xA0))); + + +extern volatile __bit SSPM1 __attribute__((address(0xA1))); + + +extern volatile __bit SSPM2 __attribute__((address(0xA2))); + + +extern volatile __bit SSPM3 __attribute__((address(0xA3))); + + +extern volatile __bit SSPOV __attribute__((address(0xA6))); + + +extern volatile __bit STRA __attribute__((address(0x4E8))); + + +extern volatile __bit STRB __attribute__((address(0x4E9))); + + +extern volatile __bit STRC __attribute__((address(0x4EA))); + + +extern volatile __bit STRD __attribute__((address(0x4EB))); + + +extern volatile __bit STRSYNC __attribute__((address(0x4EC))); + + +extern volatile __bit SWDTEN __attribute__((address(0x828))); + + +extern volatile __bit SYNC __attribute__((address(0x4C4))); + + +extern volatile __bit T0CS __attribute__((address(0x40D))); + + +extern volatile __bit T0IE __attribute__((address(0x5D))); + + +extern volatile __bit T0IF __attribute__((address(0x5A))); + + +extern volatile __bit T0SE __attribute__((address(0x40C))); + + +extern volatile __bit T1CKPS0 __attribute__((address(0x84))); + + +extern volatile __bit T1CKPS1 __attribute__((address(0x85))); + + +extern volatile __bit T1GINV __attribute__((address(0x87))); + + +extern volatile __bit T1GIV __attribute__((address(0x87))); + + +extern volatile __bit T1GSS __attribute__((address(0x849))); + + +extern volatile __bit T1INSYNC __attribute__((address(0x82))); + + +extern volatile __bit T1OSCEN __attribute__((address(0x83))); + + +extern volatile __bit T1SYNC __attribute__((address(0x82))); + + +extern volatile __bit T2CKPS0 __attribute__((address(0x90))); + + +extern volatile __bit T2CKPS1 __attribute__((address(0x91))); + + +extern volatile __bit TMR0IE __attribute__((address(0x5D))); + + +extern volatile __bit TMR0IF __attribute__((address(0x5A))); + + +extern volatile __bit TMR1CS __attribute__((address(0x81))); + + +extern volatile __bit TMR1GE __attribute__((address(0x86))); + + +extern volatile __bit TMR1IE __attribute__((address(0x460))); + + +extern volatile __bit TMR1IF __attribute__((address(0x60))); + + +extern volatile __bit TMR1ON __attribute__((address(0x80))); + + +extern volatile __bit TMR2IE __attribute__((address(0x461))); + + +extern volatile __bit TMR2IF __attribute__((address(0x61))); + + +extern volatile __bit TMR2ON __attribute__((address(0x92))); + + +extern volatile __bit TOUTPS0 __attribute__((address(0x93))); + + +extern volatile __bit TOUTPS1 __attribute__((address(0x94))); + + +extern volatile __bit TOUTPS2 __attribute__((address(0x95))); + + +extern volatile __bit TOUTPS3 __attribute__((address(0x96))); + + +extern volatile __bit TRISA0 __attribute__((address(0x428))); + + +extern volatile __bit TRISA1 __attribute__((address(0x429))); + + +extern volatile __bit TRISA2 __attribute__((address(0x42A))); + + +extern volatile __bit TRISA3 __attribute__((address(0x42B))); + + +extern volatile __bit TRISA4 __attribute__((address(0x42C))); + + +extern volatile __bit TRISA5 __attribute__((address(0x42D))); + + +extern volatile __bit TRISA6 __attribute__((address(0x42E))); + + +extern volatile __bit TRISA7 __attribute__((address(0x42F))); + + +extern volatile __bit TRISB0 __attribute__((address(0x430))); + + +extern volatile __bit TRISB1 __attribute__((address(0x431))); + + +extern volatile __bit TRISB2 __attribute__((address(0x432))); + + +extern volatile __bit TRISB3 __attribute__((address(0x433))); + + +extern volatile __bit TRISB4 __attribute__((address(0x434))); + + +extern volatile __bit TRISB5 __attribute__((address(0x435))); + + +extern volatile __bit TRISB6 __attribute__((address(0x436))); + + +extern volatile __bit TRISB7 __attribute__((address(0x437))); + + +extern volatile __bit TRISC0 __attribute__((address(0x438))); + + +extern volatile __bit TRISC1 __attribute__((address(0x439))); + + +extern volatile __bit TRISC2 __attribute__((address(0x43A))); + + +extern volatile __bit TRISC3 __attribute__((address(0x43B))); + + +extern volatile __bit TRISC4 __attribute__((address(0x43C))); + + +extern volatile __bit TRISC5 __attribute__((address(0x43D))); + + +extern volatile __bit TRISC6 __attribute__((address(0x43E))); + + +extern volatile __bit TRISC7 __attribute__((address(0x43F))); + + +extern volatile __bit TRISD0 __attribute__((address(0x440))); + + +extern volatile __bit TRISD1 __attribute__((address(0x441))); + + +extern volatile __bit TRISD2 __attribute__((address(0x442))); + + +extern volatile __bit TRISD3 __attribute__((address(0x443))); + + +extern volatile __bit TRISD4 __attribute__((address(0x444))); + + +extern volatile __bit TRISD5 __attribute__((address(0x445))); + + +extern volatile __bit TRISD6 __attribute__((address(0x446))); + + +extern volatile __bit TRISD7 __attribute__((address(0x447))); + + +extern volatile __bit TRISE0 __attribute__((address(0x448))); + + +extern volatile __bit TRISE1 __attribute__((address(0x449))); + + +extern volatile __bit TRISE2 __attribute__((address(0x44A))); + + +extern volatile __bit TRISE3 __attribute__((address(0x44B))); + + +extern volatile __bit TRMT __attribute__((address(0x4C1))); + + +extern volatile __bit TUN0 __attribute__((address(0x480))); + + +extern volatile __bit TUN1 __attribute__((address(0x481))); + + +extern volatile __bit TUN2 __attribute__((address(0x482))); + + +extern volatile __bit TUN3 __attribute__((address(0x483))); + + +extern volatile __bit TUN4 __attribute__((address(0x484))); + + +extern volatile __bit TX8_9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9D __attribute__((address(0x4C0))); + + +extern volatile __bit TXD8 __attribute__((address(0x4C0))); + + +extern volatile __bit TXEN __attribute__((address(0x4C5))); + + +extern volatile __bit TXIE __attribute__((address(0x464))); + + +extern volatile __bit TXIF __attribute__((address(0x64))); + + +extern volatile __bit UA __attribute__((address(0x4A1))); + + +extern volatile __bit ULPWUE __attribute__((address(0x475))); + + +extern volatile __bit ULPWUIE __attribute__((address(0x46A))); + + +extern volatile __bit ULPWUIF __attribute__((address(0x6A))); + + +extern volatile __bit VCFG0 __attribute__((address(0x4FC))); + + +extern volatile __bit VCFG1 __attribute__((address(0x4FD))); + + +extern volatile __bit VR0 __attribute__((address(0x4B8))); + + +extern volatile __bit VR1 __attribute__((address(0x4B9))); + + +extern volatile __bit VR2 __attribute__((address(0x4BA))); + + +extern volatile __bit VR3 __attribute__((address(0x4BB))); + + +extern volatile __bit VREN __attribute__((address(0x4BF))); + + +extern volatile __bit VROE __attribute__((address(0x4BE))); + + +extern volatile __bit VRR __attribute__((address(0x4BD))); + + +extern volatile __bit VRSS __attribute__((address(0x4BC))); + + +extern volatile __bit WCOL __attribute__((address(0xA7))); + + +extern volatile __bit WDTPS0 __attribute__((address(0x829))); + + +extern volatile __bit WDTPS1 __attribute__((address(0x82A))); + + +extern volatile __bit WDTPS2 __attribute__((address(0x82B))); + + +extern volatile __bit WDTPS3 __attribute__((address(0x82C))); + + +extern volatile __bit WPUB0 __attribute__((address(0x4A8))); + + +extern volatile __bit WPUB1 __attribute__((address(0x4A9))); + + +extern volatile __bit WPUB2 __attribute__((address(0x4AA))); + + +extern volatile __bit WPUB3 __attribute__((address(0x4AB))); + + +extern volatile __bit WPUB4 __attribute__((address(0x4AC))); + + +extern volatile __bit WPUB5 __attribute__((address(0x4AD))); + + +extern volatile __bit WPUB6 __attribute__((address(0x4AE))); + + +extern volatile __bit WPUB7 __attribute__((address(0x4AF))); + + +extern volatile __bit WR __attribute__((address(0xC61))); + + +extern volatile __bit WREN __attribute__((address(0xC62))); + + +extern volatile __bit WRERR __attribute__((address(0xC63))); + + +extern volatile __bit WUE __attribute__((address(0xC39))); + + +extern volatile __bit ZERO __attribute__((address(0x1A))); + + +extern volatile __bit nA __attribute__((address(0x4A5))); + + +extern volatile __bit nADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit nBO __attribute__((address(0x470))); + + +extern volatile __bit nBOR __attribute__((address(0x470))); + + +extern volatile __bit nDONE __attribute__((address(0xF9))); + + +extern volatile __bit nPD __attribute__((address(0x1B))); + + +extern volatile __bit nPOR __attribute__((address(0x471))); + + +extern volatile __bit nRBPU __attribute__((address(0x40F))); + + +extern volatile __bit nRC8 __attribute__((address(0xC6))); + + +extern volatile __bit nT1SYNC __attribute__((address(0x82))); + + +extern volatile __bit nTO __attribute__((address(0x1C))); + + +extern volatile __bit nTX8 __attribute__((address(0x4C6))); + + +extern volatile __bit nW __attribute__((address(0x4A2))); + + +extern volatile __bit nWRITE __attribute__((address(0x4A2))); +# 725 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 2 3 +# 14 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 76 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +__attribute__((__unsupported__("The " "FLASH_READ" " macro function is no longer supported. Please use the MPLAB X MCC."))) unsigned char __flash_read(unsigned short addr); + +__attribute__((__unsupported__("The " "FLASH_WRITE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_write(unsigned short addr, unsigned short data); + +__attribute__((__unsupported__("The " "FLASH_ERASE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_erase(unsigned short addr); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 1 3 +# 114 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 3 +extern void eeprom_write(unsigned char addr, unsigned char value); +extern unsigned char eeprom_read(unsigned char addr); +# 84 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 118 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +extern __bank0 unsigned char __resetbits; +extern __bank0 __bit __powerdown; +extern __bank0 __bit __timeout; +# 29 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 5 "src/../include/config.h" 2 + + + + +#pragma config FOSC = INTRC_NOCLKOUT +#pragma config WDTE = OFF +#pragma config PWRTE = ON +#pragma config MCLRE = OFF +#pragma config CP = OFF +#pragma config CPD = OFF +#pragma config BOREN = ON +#pragma config IESO = OFF +#pragma config FCMEN = OFF +#pragma config LVP = OFF +#pragma config BOR4V = BOR40V +#pragma config WRT = OFF +# 1 "src/potentiometer.c" 2 + + +void populate_step_array(int *array, int size, int potLimit) { + array[0] = potLimit / (size + 1); + for (int i = 0; i < size; i++){ + array[i] = array[0] * (i + 1); + } +} + +int read_potentiometer(void) { + + _delay((unsigned long)((5)*(500000/4000000.0))); + + + + GO = 1; + while (GO) continue; + + + + int result = (ADRESH * 256) + ADRESL; + + return result; +} diff --git a/build/default/debug/src/potentiometer.p1 b/build/default/debug/src/potentiometer.p1 new file mode 100644 index 0000000..4547ddf --- /dev/null +++ b/build/default/debug/src/potentiometer.p1 @@ -0,0 +1,339 @@ +Version 4.0 HI-TECH Software Intermediate Code +[v F164 `(v ~T0 @X0 1 tf1`ul ] +"12 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\builtins.h +[v __delay `JF164 ~T0 @X0 0 e ] +[p i __delay ] +"3903 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3903: extern volatile __bit GO __attribute__((address(0xF9))); +[v _GO `Vb ~T0 @X0 0 e@249 ] +"1238 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1238: extern volatile unsigned char ADRESH __attribute__((address(0x01E))); +[v _ADRESH `Vuc ~T0 @X0 0 e@30 ] +"2970 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2970: extern volatile unsigned char ADRESL __attribute__((address(0x09E))); +[v _ADRESL `Vuc ~T0 @X0 0 e@158 ] +"54 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 54: __asm("INDF equ 00h"); +[; <" INDF equ 00h ;# "> +"61 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 61: __asm("TMR0 equ 01h"); +[; <" TMR0 equ 01h ;# "> +"68 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 68: __asm("PCL equ 02h"); +[; <" PCL equ 02h ;# "> +"75 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 75: __asm("STATUS equ 03h"); +[; <" STATUS equ 03h ;# "> +"161 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 161: __asm("FSR equ 04h"); +[; <" FSR equ 04h ;# "> +"168 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 168: __asm("PORTA equ 05h"); +[; <" PORTA equ 05h ;# "> +"230 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 230: __asm("PORTB equ 06h"); +[; <" PORTB equ 06h ;# "> +"292 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 292: __asm("PORTC equ 07h"); +[; <" PORTC equ 07h ;# "> +"354 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 354: __asm("PORTD equ 08h"); +[; <" PORTD equ 08h ;# "> +"416 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 416: __asm("PORTE equ 09h"); +[; <" PORTE equ 09h ;# "> +"454 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 454: __asm("PCLATH equ 0Ah"); +[; <" PCLATH equ 0Ah ;# "> +"461 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 461: __asm("INTCON equ 0Bh"); +[; <" INTCON equ 0Bh ;# "> +"539 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 539: __asm("PIR1 equ 0Ch"); +[; <" PIR1 equ 0Ch ;# "> +"595 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 595: __asm("PIR2 equ 0Dh"); +[; <" PIR2 equ 0Dh ;# "> +"652 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 652: __asm("TMR1 equ 0Eh"); +[; <" TMR1 equ 0Eh ;# "> +"659 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 659: __asm("TMR1L equ 0Eh"); +[; <" TMR1L equ 0Eh ;# "> +"666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 666: __asm("TMR1H equ 0Fh"); +[; <" TMR1H equ 0Fh ;# "> +"673 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 673: __asm("T1CON equ 010h"); +[; <" T1CON equ 010h ;# "> +"767 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 767: __asm("TMR2 equ 011h"); +[; <" TMR2 equ 011h ;# "> +"774 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 774: __asm("T2CON equ 012h"); +[; <" T2CON equ 012h ;# "> +"845 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 845: __asm("SSPBUF equ 013h"); +[; <" SSPBUF equ 013h ;# "> +"852 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 852: __asm("SSPCON equ 014h"); +[; <" SSPCON equ 014h ;# "> +"922 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 922: __asm("CCPR1 equ 015h"); +[; <" CCPR1 equ 015h ;# "> +"929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 929: __asm("CCPR1L equ 015h"); +[; <" CCPR1L equ 015h ;# "> +"936 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 936: __asm("CCPR1H equ 016h"); +[; <" CCPR1H equ 016h ;# "> +"943 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 943: __asm("CCP1CON equ 017h"); +[; <" CCP1CON equ 017h ;# "> +"1040 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1040: __asm("RCSTA equ 018h"); +[; <" RCSTA equ 018h ;# "> +"1135 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1135: __asm("TXREG equ 019h"); +[; <" TXREG equ 019h ;# "> +"1142 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1142: __asm("RCREG equ 01Ah"); +[; <" RCREG equ 01Ah ;# "> +"1149 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1149: __asm("CCPR2 equ 01Bh"); +[; <" CCPR2 equ 01Bh ;# "> +"1156 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1156: __asm("CCPR2L equ 01Bh"); +[; <" CCPR2L equ 01Bh ;# "> +"1163 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1163: __asm("CCPR2H equ 01Ch"); +[; <" CCPR2H equ 01Ch ;# "> +"1170 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1170: __asm("CCP2CON equ 01Dh"); +[; <" CCP2CON equ 01Dh ;# "> +"1240 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1240: __asm("ADRESH equ 01Eh"); +[; <" ADRESH equ 01Eh ;# "> +"1247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1247: __asm("ADCON0 equ 01Fh"); +[; <" ADCON0 equ 01Fh ;# "> +"1348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1348: __asm("OPTION_REG equ 081h"); +[; <" OPTION_REG equ 081h ;# "> +"1418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1418: __asm("TRISA equ 085h"); +[; <" TRISA equ 085h ;# "> +"1480 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1480: __asm("TRISB equ 086h"); +[; <" TRISB equ 086h ;# "> +"1542 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1542: __asm("TRISC equ 087h"); +[; <" TRISC equ 087h ;# "> +"1604 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1604: __asm("TRISD equ 088h"); +[; <" TRISD equ 088h ;# "> +"1666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1666: __asm("TRISE equ 089h"); +[; <" TRISE equ 089h ;# "> +"1704 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1704: __asm("PIE1 equ 08Ch"); +[; <" PIE1 equ 08Ch ;# "> +"1760 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1760: __asm("PIE2 equ 08Dh"); +[; <" PIE2 equ 08Dh ;# "> +"1817 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1817: __asm("PCON equ 08Eh"); +[; <" PCON equ 08Eh ;# "> +"1864 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1864: __asm("OSCCON equ 08Fh"); +[; <" OSCCON equ 08Fh ;# "> +"1929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1929: __asm("OSCTUNE equ 090h"); +[; <" OSCTUNE equ 090h ;# "> +"1981 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1981: __asm("SSPCON2 equ 091h"); +[; <" SSPCON2 equ 091h ;# "> +"2043 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2043: __asm("PR2 equ 092h"); +[; <" PR2 equ 092h ;# "> +"2050 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2050: __asm("SSPADD equ 093h"); +[; <" SSPADD equ 093h ;# "> +"2057 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2057: __asm("SSPMSK equ 093h"); +[; <" SSPMSK equ 093h ;# "> +"2062 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2062: __asm("MSK equ 093h"); +[; <" MSK equ 093h ;# "> +"2179 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2179: __asm("SSPSTAT equ 094h"); +[; <" SSPSTAT equ 094h ;# "> +"2348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2348: __asm("WPUB equ 095h"); +[; <" WPUB equ 095h ;# "> +"2418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2418: __asm("IOCB equ 096h"); +[; <" IOCB equ 096h ;# "> +"2488 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2488: __asm("VRCON equ 097h"); +[; <" VRCON equ 097h ;# "> +"2558 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2558: __asm("TXSTA equ 098h"); +[; <" TXSTA equ 098h ;# "> +"2644 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2644: __asm("SPBRG equ 099h"); +[; <" SPBRG equ 099h ;# "> +"2706 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2706: __asm("SPBRGH equ 09Ah"); +[; <" SPBRGH equ 09Ah ;# "> +"2776 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2776: __asm("PWM1CON equ 09Bh"); +[; <" PWM1CON equ 09Bh ;# "> +"2846 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2846: __asm("ECCPAS equ 09Ch"); +[; <" ECCPAS equ 09Ch ;# "> +"2928 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2928: __asm("PSTRCON equ 09Dh"); +[; <" PSTRCON equ 09Dh ;# "> +"2972 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2972: __asm("ADRESL equ 09Eh"); +[; <" ADRESL equ 09Eh ;# "> +"2979 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2979: __asm("ADCON1 equ 09Fh"); +[; <" ADCON1 equ 09Fh ;# "> +"3013 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3013: __asm("WDTCON equ 0105h"); +[; <" WDTCON equ 0105h ;# "> +"3066 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3066: __asm("CM1CON0 equ 0107h"); +[; <" CM1CON0 equ 0107h ;# "> +"3131 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3131: __asm("CM2CON0 equ 0108h"); +[; <" CM2CON0 equ 0108h ;# "> +"3196 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3196: __asm("CM2CON1 equ 0109h"); +[; <" CM2CON1 equ 0109h ;# "> +"3247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3247: __asm("EEDATA equ 010Ch"); +[; <" EEDATA equ 010Ch ;# "> +"3252 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3252: __asm("EEDAT equ 010Ch"); +[; <" EEDAT equ 010Ch ;# "> +"3259 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3259: __asm("EEADR equ 010Dh"); +[; <" EEADR equ 010Dh ;# "> +"3266 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3266: __asm("EEDATH equ 010Eh"); +[; <" EEDATH equ 010Eh ;# "> +"3273 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3273: __asm("EEADRH equ 010Fh"); +[; <" EEADRH equ 010Fh ;# "> +"3280 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3280: __asm("SRCON equ 0185h"); +[; <" SRCON equ 0185h ;# "> +"3337 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3337: __asm("BAUDCTL equ 0187h"); +[; <" BAUDCTL equ 0187h ;# "> +"3389 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3389: __asm("ANSEL equ 0188h"); +[; <" ANSEL equ 0188h ;# "> +"3451 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3451: __asm("ANSELH equ 0189h"); +[; <" ANSELH equ 0189h ;# "> +"3501 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3501: __asm("EECON1 equ 018Ch"); +[; <" EECON1 equ 018Ch ;# "> +"3546 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3546: __asm("EECON2 equ 018Dh"); +[; <" EECON2 equ 018Dh ;# "> +"9 src/../include/config.h +[p x FOSC = INTRC_NOCLKOUT ] +"10 +[p x WDTE = OFF ] +"11 +[p x PWRTE = ON ] +"12 +[p x MCLRE = OFF ] +"13 +[p x CP = OFF ] +"14 +[p x CPD = OFF ] +"15 +[p x BOREN = ON ] +"16 +[p x IESO = OFF ] +"17 +[p x FCMEN = OFF ] +"18 +[p x LVP = OFF ] +"19 +[p x BOR4V = BOR40V ] +"20 +[p x WRT = OFF ] +"3 src/potentiometer.c +[; ;src/potentiometer.c: 3: void populate_step_array(int *array, int size, int potLimit) { +[v _populate_step_array `(v ~T0 @X0 1 ef3`*i`i`i ] +{ +[e :U _populate_step_array ] +[v _array `*i ~T0 @X0 1 r1 ] +[v _size `i ~T0 @X0 1 r2 ] +[v _potLimit `i ~T0 @X0 1 r3 ] +[f ] +"4 +[; ;src/potentiometer.c: 4: array[0] = potLimit / (size + 1); +[e = *U + _array * -> -> 0 `i `x -> -> # *U _array `i `x / _potLimit + _size -> 1 `i ] +"5 +[; ;src/potentiometer.c: 5: for (int i = 0; i < size; i++){ +{ +[v _i `i ~T0 @X0 1 a ] +[e = _i -> 0 `i ] +[e $U 146 ] +[e :U 143 ] +{ +"6 +[; ;src/potentiometer.c: 6: array[i] = array[0] * (i + 1); +[e = *U + _array * -> _i `x -> -> # *U _array `i `x * *U + _array * -> -> 0 `i `x -> -> # *U _array `i `x + _i -> 1 `i ] +"7 +[; ;src/potentiometer.c: 7: } +} +[e ++ _i -> 1 `i ] +[e :U 146 ] +[e $ < _i _size 143 ] +[e :U 144 ] +} +"8 +[; ;src/potentiometer.c: 8: } +[e :UE 142 ] +} +"10 +[; ;src/potentiometer.c: 10: int read_potentiometer(void) { +[v _read_potentiometer `(i ~T0 @X0 1 ef ] +{ +[e :U _read_potentiometer ] +[f ] +"12 +[; ;src/potentiometer.c: 12: _delay((unsigned long)((5)*(500000/4000000.0))); +[e ( __delay (1 -> * -> -> 5 `i `d / -> -> 500000 `l `d .4000000.0 `ul ] +"16 +[; ;src/potentiometer.c: 16: GO = 1; +[e = _GO -> -> 1 `i `b ] +"17 +[; ;src/potentiometer.c: 17: while (GO) continue; +[e $U 148 ] +[e :U 149 ] +[e $U 148 ] +[e :U 148 ] +[e $ _GO 149 ] +[e :U 150 ] +"21 +[; ;src/potentiometer.c: 21: int result = (ADRESH * 256) + ADRESL; +[v _result `i ~T0 @X0 1 a ] +[e = _result + * -> _ADRESH `i -> 256 `i -> _ADRESL `i ] +"23 +[; ;src/potentiometer.c: 23: return result; +[e ) _result ] +[e $UE 147 ] +"24 +[; ;src/potentiometer.c: 24: } +[e :UE 147 ] +} diff --git a/build/default/debug/src/potentiometer.p1.d b/build/default/debug/src/potentiometer.p1.d new file mode 100644 index 0000000..d7c5a5b --- /dev/null +++ b/build/default/debug/src/potentiometer.p1.d @@ -0,0 +1,3 @@ +build/default/debug/src/potentiometer.p1: \ +src/potentiometer.c \ +src/../include/config.h diff --git a/build/default/debug/src/rotary_encoder.i b/build/default/debug/src/rotary_encoder.i new file mode 100644 index 0000000..3494270 --- /dev/null +++ b/build/default/debug/src/rotary_encoder.i @@ -0,0 +1,2732 @@ +# 1 "src/rotary_encoder.c" +# 1 "" 1 +# 1 "" 3 +# 288 "" 3 +# 1 "" 1 +# 1 "" 2 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\language_support.h" 1 3 +# 2 "" 2 +# 1 "src/rotary_encoder.c" 2 + +# 1 "src/../include/config.h" 1 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 18 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 3 +extern const char __xc8_OPTIM_SPEED; + +extern double __fpnormalize(double); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\musl_xc8.h" 1 3 +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + + + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\features.h" 1 3 +# 11 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 +# 21 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 24 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int wchar_t; +# 128 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned size_t; +# 174 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __int24 int24_t; +# 210 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __uint24 uint24_t; +# 22 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + +int atoi (const char *); +long atol (const char *); + + + +double atof (const char *); + + +float strtof (const char *restrict, char **restrict); +double strtod (const char *restrict, char **restrict); +long double strtold (const char *restrict, char **restrict); + + + +long strtol (const char *restrict, char **restrict, int); +unsigned long strtoul (const char *restrict, char **restrict, int); + + + + + +unsigned long __strtoxl(const char * s, char ** endptr, int base, char is_signed); +# 55 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +int rand (void); +void srand (unsigned); + +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); + + void abort (void); +int atexit (void (*) (void)); + void exit (int); + void _Exit (int); + +void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); + + + + + + + +__attribute__((nonreentrant)) void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); + +int abs (int); +long labs (long); + + + + +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; + + + + +div_t div (int, int); +ldiv_t ldiv (long, long); + + + + +typedef struct { unsigned int quot, rem; } udiv_t; +typedef struct { unsigned long quot, rem; } uldiv_t; +udiv_t udiv (unsigned int, unsigned int); +uldiv_t uldiv (unsigned long, unsigned long); +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 2 3 + + + + + + + +#pragma intrinsic(__builtin_software_breakpoint) +extern void __builtin_software_breakpoint(void); +# 24 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 1 3 +# 26 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 133 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned short uintptr_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef short intptr_t; +# 164 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef signed char int8_t; + + + + +typedef short int16_t; +# 179 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int32_t; +# 192 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef int32_t intmax_t; + + + + + + + +typedef unsigned char uint8_t; + + + + +typedef unsigned short uint16_t; +# 215 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned long uint32_t; +# 233 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef uint32_t uintmax_t; +# 27 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 + +typedef int8_t int_fast8_t; + + + + +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; + +typedef int24_t int_least24_t; +typedef int24_t int_fast24_t; + +typedef int32_t int_least32_t; + + + + +typedef uint8_t uint_fast8_t; + + + + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; + +typedef uint24_t uint_least24_t; +typedef uint24_t uint_fast24_t; + +typedef uint32_t uint_least32_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/stdint.h" 1 3 +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +# 149 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 2 3 + + +#pragma intrinsic(__nop) +extern void __nop(void); + + +#pragma intrinsic(_delay) +extern __attribute__((nonreentrant)) void _delay(uint32_t); +#pragma intrinsic(_delaywdt) +extern __attribute__((nonreentrant)) void _delaywdt(uint32_t); +# 25 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 1 3 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 1 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 2 3 +# 6 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 + + + + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 1 3 +# 724 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 1 3 +# 44 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\__at.h" 1 3 +# 45 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 2 3 + + + + + + + +extern volatile unsigned char INDF __attribute__((address(0x000))); + +__asm("INDF equ 00h"); + + + + +extern volatile unsigned char TMR0 __attribute__((address(0x001))); + +__asm("TMR0 equ 01h"); + + + + +extern volatile unsigned char PCL __attribute__((address(0x002))); + +__asm("PCL equ 02h"); + + + + +extern volatile unsigned char STATUS __attribute__((address(0x003))); + +__asm("STATUS equ 03h"); + + +typedef union { + struct { + unsigned C :1; + unsigned DC :1; + unsigned Z :1; + unsigned nPD :1; + unsigned nTO :1; + unsigned RP :2; + unsigned IRP :1; + }; + struct { + unsigned :5; + unsigned RP0 :1; + unsigned RP1 :1; + }; + struct { + unsigned CARRY :1; + unsigned :1; + unsigned ZERO :1; + }; +} STATUSbits_t; +extern volatile STATUSbits_t STATUSbits __attribute__((address(0x003))); +# 159 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char FSR __attribute__((address(0x004))); + +__asm("FSR equ 04h"); + + + + +extern volatile unsigned char PORTA __attribute__((address(0x005))); + +__asm("PORTA equ 05h"); + + +typedef union { + struct { + unsigned RA0 :1; + unsigned RA1 :1; + unsigned RA2 :1; + unsigned RA3 :1; + unsigned RA4 :1; + unsigned RA5 :1; + unsigned RA6 :1; + unsigned RA7 :1; + }; +} PORTAbits_t; +extern volatile PORTAbits_t PORTAbits __attribute__((address(0x005))); +# 228 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTB __attribute__((address(0x006))); + +__asm("PORTB equ 06h"); + + +typedef union { + struct { + unsigned RB0 :1; + unsigned RB1 :1; + unsigned RB2 :1; + unsigned RB3 :1; + unsigned RB4 :1; + unsigned RB5 :1; + unsigned RB6 :1; + unsigned RB7 :1; + }; +} PORTBbits_t; +extern volatile PORTBbits_t PORTBbits __attribute__((address(0x006))); +# 290 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTC __attribute__((address(0x007))); + +__asm("PORTC equ 07h"); + + +typedef union { + struct { + unsigned RC0 :1; + unsigned RC1 :1; + unsigned RC2 :1; + unsigned RC3 :1; + unsigned RC4 :1; + unsigned RC5 :1; + unsigned RC6 :1; + unsigned RC7 :1; + }; +} PORTCbits_t; +extern volatile PORTCbits_t PORTCbits __attribute__((address(0x007))); +# 352 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTD __attribute__((address(0x008))); + +__asm("PORTD equ 08h"); + + +typedef union { + struct { + unsigned RD0 :1; + unsigned RD1 :1; + unsigned RD2 :1; + unsigned RD3 :1; + unsigned RD4 :1; + unsigned RD5 :1; + unsigned RD6 :1; + unsigned RD7 :1; + }; +} PORTDbits_t; +extern volatile PORTDbits_t PORTDbits __attribute__((address(0x008))); +# 414 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTE __attribute__((address(0x009))); + +__asm("PORTE equ 09h"); + + +typedef union { + struct { + unsigned RE0 :1; + unsigned RE1 :1; + unsigned RE2 :1; + unsigned RE3 :1; + }; +} PORTEbits_t; +extern volatile PORTEbits_t PORTEbits __attribute__((address(0x009))); +# 452 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCLATH __attribute__((address(0x00A))); + +__asm("PCLATH equ 0Ah"); + + + + +extern volatile unsigned char INTCON __attribute__((address(0x00B))); + +__asm("INTCON equ 0Bh"); + + +typedef union { + struct { + unsigned RBIF :1; + unsigned INTF :1; + unsigned T0IF :1; + unsigned RBIE :1; + unsigned INTE :1; + unsigned T0IE :1; + unsigned PEIE :1; + unsigned GIE :1; + }; + struct { + unsigned :2; + unsigned TMR0IF :1; + unsigned :2; + unsigned TMR0IE :1; + }; +} INTCONbits_t; +extern volatile INTCONbits_t INTCONbits __attribute__((address(0x00B))); +# 537 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR1 __attribute__((address(0x00C))); + +__asm("PIR1 equ 0Ch"); + + +typedef union { + struct { + unsigned TMR1IF :1; + unsigned TMR2IF :1; + unsigned CCP1IF :1; + unsigned SSPIF :1; + unsigned TXIF :1; + unsigned RCIF :1; + unsigned ADIF :1; + }; +} PIR1bits_t; +extern volatile PIR1bits_t PIR1bits __attribute__((address(0x00C))); +# 593 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR2 __attribute__((address(0x00D))); + +__asm("PIR2 equ 0Dh"); + + +typedef union { + struct { + unsigned CCP2IF :1; + unsigned :1; + unsigned ULPWUIF :1; + unsigned BCLIF :1; + unsigned EEIF :1; + unsigned C1IF :1; + unsigned C2IF :1; + unsigned OSFIF :1; + }; +} PIR2bits_t; +extern volatile PIR2bits_t PIR2bits __attribute__((address(0x00D))); +# 650 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short TMR1 __attribute__((address(0x00E))); + +__asm("TMR1 equ 0Eh"); + + + + +extern volatile unsigned char TMR1L __attribute__((address(0x00E))); + +__asm("TMR1L equ 0Eh"); + + + + +extern volatile unsigned char TMR1H __attribute__((address(0x00F))); + +__asm("TMR1H equ 0Fh"); + + + + +extern volatile unsigned char T1CON __attribute__((address(0x010))); + +__asm("T1CON equ 010h"); + + +typedef union { + struct { + unsigned TMR1ON :1; + unsigned TMR1CS :1; + unsigned nT1SYNC :1; + unsigned T1OSCEN :1; + unsigned T1CKPS :2; + unsigned TMR1GE :1; + unsigned T1GINV :1; + }; + struct { + unsigned :2; + unsigned T1INSYNC :1; + unsigned :1; + unsigned T1CKPS0 :1; + unsigned T1CKPS1 :1; + unsigned :1; + unsigned T1GIV :1; + }; + struct { + unsigned :2; + unsigned T1SYNC :1; + }; +} T1CONbits_t; +extern volatile T1CONbits_t T1CONbits __attribute__((address(0x010))); +# 765 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TMR2 __attribute__((address(0x011))); + +__asm("TMR2 equ 011h"); + + + + +extern volatile unsigned char T2CON __attribute__((address(0x012))); + +__asm("T2CON equ 012h"); + + +typedef union { + struct { + unsigned T2CKPS :2; + unsigned TMR2ON :1; + unsigned TOUTPS :4; + }; + struct { + unsigned T2CKPS0 :1; + unsigned T2CKPS1 :1; + unsigned :1; + unsigned TOUTPS0 :1; + unsigned TOUTPS1 :1; + unsigned TOUTPS2 :1; + unsigned TOUTPS3 :1; + }; +} T2CONbits_t; +extern volatile T2CONbits_t T2CONbits __attribute__((address(0x012))); +# 843 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPBUF __attribute__((address(0x013))); + +__asm("SSPBUF equ 013h"); + + + + +extern volatile unsigned char SSPCON __attribute__((address(0x014))); + +__asm("SSPCON equ 014h"); + + +typedef union { + struct { + unsigned SSPM :4; + unsigned CKP :1; + unsigned SSPEN :1; + unsigned SSPOV :1; + unsigned WCOL :1; + }; + struct { + unsigned SSPM0 :1; + unsigned SSPM1 :1; + unsigned SSPM2 :1; + unsigned SSPM3 :1; + }; +} SSPCONbits_t; +extern volatile SSPCONbits_t SSPCONbits __attribute__((address(0x014))); +# 920 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short CCPR1 __attribute__((address(0x015))); + +__asm("CCPR1 equ 015h"); + + + + +extern volatile unsigned char CCPR1L __attribute__((address(0x015))); + +__asm("CCPR1L equ 015h"); + + + + +extern volatile unsigned char CCPR1H __attribute__((address(0x016))); + +__asm("CCPR1H equ 016h"); + + + + +extern volatile unsigned char CCP1CON __attribute__((address(0x017))); + +__asm("CCP1CON equ 017h"); + + +typedef union { + struct { + unsigned CCP1M :4; + unsigned DC1B :2; + unsigned P1M :2; + }; + struct { + unsigned CCP1M0 :1; + unsigned CCP1M1 :1; + unsigned CCP1M2 :1; + unsigned CCP1M3 :1; + unsigned DC1B0 :1; + unsigned DC1B1 :1; + unsigned P1M0 :1; + unsigned P1M1 :1; + }; + struct { + unsigned :4; + unsigned CCP1Y :1; + unsigned CCP1X :1; + }; +} CCP1CONbits_t; +extern volatile CCP1CONbits_t CCP1CONbits __attribute__((address(0x017))); +# 1038 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char RCSTA __attribute__((address(0x018))); + +__asm("RCSTA equ 018h"); + + +typedef union { + struct { + unsigned RX9D :1; + unsigned OERR :1; + unsigned FERR :1; + unsigned ADDEN :1; + unsigned CREN :1; + unsigned SREN :1; + unsigned RX9 :1; + unsigned SPEN :1; + }; + struct { + unsigned RCD8 :1; + unsigned :5; + unsigned RC9 :1; + }; + struct { + unsigned :6; + unsigned nRC8 :1; + }; + struct { + unsigned :6; + unsigned RC8_9 :1; + }; +} RCSTAbits_t; +extern volatile RCSTAbits_t RCSTAbits __attribute__((address(0x018))); +# 1133 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXREG __attribute__((address(0x019))); + +__asm("TXREG equ 019h"); + + + + +extern volatile unsigned char RCREG __attribute__((address(0x01A))); + +__asm("RCREG equ 01Ah"); + + + + +extern volatile unsigned short CCPR2 __attribute__((address(0x01B))); + +__asm("CCPR2 equ 01Bh"); + + + + +extern volatile unsigned char CCPR2L __attribute__((address(0x01B))); + +__asm("CCPR2L equ 01Bh"); + + + + +extern volatile unsigned char CCPR2H __attribute__((address(0x01C))); + +__asm("CCPR2H equ 01Ch"); + + + + +extern volatile unsigned char CCP2CON __attribute__((address(0x01D))); + +__asm("CCP2CON equ 01Dh"); + + +typedef union { + struct { + unsigned CCP2M :4; + unsigned DC2B0 :1; + unsigned DC2B1 :1; + }; + struct { + unsigned CCP2M0 :1; + unsigned CCP2M1 :1; + unsigned CCP2M2 :1; + unsigned CCP2M3 :1; + unsigned CCP2Y :1; + unsigned CCP2X :1; + }; +} CCP2CONbits_t; +extern volatile CCP2CONbits_t CCP2CONbits __attribute__((address(0x01D))); +# 1238 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESH __attribute__((address(0x01E))); + +__asm("ADRESH equ 01Eh"); + + + + +extern volatile unsigned char ADCON0 __attribute__((address(0x01F))); + +__asm("ADCON0 equ 01Fh"); + + +typedef union { + struct { + unsigned ADON :1; + unsigned GO_nDONE :1; + unsigned CHS :4; + unsigned ADCS :2; + }; + struct { + unsigned :1; + unsigned GO :1; + unsigned CHS0 :1; + unsigned CHS1 :1; + unsigned CHS2 :1; + unsigned CHS3 :1; + unsigned ADCS0 :1; + unsigned ADCS1 :1; + }; + struct { + unsigned :1; + unsigned nDONE :1; + }; + struct { + unsigned :1; + unsigned GO_DONE :1; + }; +} ADCON0bits_t; +extern volatile ADCON0bits_t ADCON0bits __attribute__((address(0x01F))); +# 1346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OPTION_REG __attribute__((address(0x081))); + +__asm("OPTION_REG equ 081h"); + + +typedef union { + struct { + unsigned PS :3; + unsigned PSA :1; + unsigned T0SE :1; + unsigned T0CS :1; + unsigned INTEDG :1; + unsigned nRBPU :1; + }; + struct { + unsigned PS0 :1; + unsigned PS1 :1; + unsigned PS2 :1; + }; +} OPTION_REGbits_t; +extern volatile OPTION_REGbits_t OPTION_REGbits __attribute__((address(0x081))); +# 1416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISA __attribute__((address(0x085))); + +__asm("TRISA equ 085h"); + + +typedef union { + struct { + unsigned TRISA0 :1; + unsigned TRISA1 :1; + unsigned TRISA2 :1; + unsigned TRISA3 :1; + unsigned TRISA4 :1; + unsigned TRISA5 :1; + unsigned TRISA6 :1; + unsigned TRISA7 :1; + }; +} TRISAbits_t; +extern volatile TRISAbits_t TRISAbits __attribute__((address(0x085))); +# 1478 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISB __attribute__((address(0x086))); + +__asm("TRISB equ 086h"); + + +typedef union { + struct { + unsigned TRISB0 :1; + unsigned TRISB1 :1; + unsigned TRISB2 :1; + unsigned TRISB3 :1; + unsigned TRISB4 :1; + unsigned TRISB5 :1; + unsigned TRISB6 :1; + unsigned TRISB7 :1; + }; +} TRISBbits_t; +extern volatile TRISBbits_t TRISBbits __attribute__((address(0x086))); +# 1540 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISC __attribute__((address(0x087))); + +__asm("TRISC equ 087h"); + + +typedef union { + struct { + unsigned TRISC0 :1; + unsigned TRISC1 :1; + unsigned TRISC2 :1; + unsigned TRISC3 :1; + unsigned TRISC4 :1; + unsigned TRISC5 :1; + unsigned TRISC6 :1; + unsigned TRISC7 :1; + }; +} TRISCbits_t; +extern volatile TRISCbits_t TRISCbits __attribute__((address(0x087))); +# 1602 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISD __attribute__((address(0x088))); + +__asm("TRISD equ 088h"); + + +typedef union { + struct { + unsigned TRISD0 :1; + unsigned TRISD1 :1; + unsigned TRISD2 :1; + unsigned TRISD3 :1; + unsigned TRISD4 :1; + unsigned TRISD5 :1; + unsigned TRISD6 :1; + unsigned TRISD7 :1; + }; +} TRISDbits_t; +extern volatile TRISDbits_t TRISDbits __attribute__((address(0x088))); +# 1664 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISE __attribute__((address(0x089))); + +__asm("TRISE equ 089h"); + + +typedef union { + struct { + unsigned TRISE0 :1; + unsigned TRISE1 :1; + unsigned TRISE2 :1; + unsigned TRISE3 :1; + }; +} TRISEbits_t; +extern volatile TRISEbits_t TRISEbits __attribute__((address(0x089))); +# 1702 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE1 __attribute__((address(0x08C))); + +__asm("PIE1 equ 08Ch"); + + +typedef union { + struct { + unsigned TMR1IE :1; + unsigned TMR2IE :1; + unsigned CCP1IE :1; + unsigned SSPIE :1; + unsigned TXIE :1; + unsigned RCIE :1; + unsigned ADIE :1; + }; +} PIE1bits_t; +extern volatile PIE1bits_t PIE1bits __attribute__((address(0x08C))); +# 1758 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE2 __attribute__((address(0x08D))); + +__asm("PIE2 equ 08Dh"); + + +typedef union { + struct { + unsigned CCP2IE :1; + unsigned :1; + unsigned ULPWUIE :1; + unsigned BCLIE :1; + unsigned EEIE :1; + unsigned C1IE :1; + unsigned C2IE :1; + unsigned OSFIE :1; + }; +} PIE2bits_t; +extern volatile PIE2bits_t PIE2bits __attribute__((address(0x08D))); +# 1815 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCON __attribute__((address(0x08E))); + +__asm("PCON equ 08Eh"); + + +typedef union { + struct { + unsigned nBOR :1; + unsigned nPOR :1; + unsigned :2; + unsigned SBOREN :1; + unsigned ULPWUE :1; + }; + struct { + unsigned nBO :1; + }; +} PCONbits_t; +extern volatile PCONbits_t PCONbits __attribute__((address(0x08E))); +# 1862 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCCON __attribute__((address(0x08F))); + +__asm("OSCCON equ 08Fh"); + + +typedef union { + struct { + unsigned SCS :1; + unsigned LTS :1; + unsigned HTS :1; + unsigned OSTS :1; + unsigned IRCF :3; + }; + struct { + unsigned :4; + unsigned IRCF0 :1; + unsigned IRCF1 :1; + unsigned IRCF2 :1; + }; +} OSCCONbits_t; +extern volatile OSCCONbits_t OSCCONbits __attribute__((address(0x08F))); +# 1927 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCTUNE __attribute__((address(0x090))); + +__asm("OSCTUNE equ 090h"); + + +typedef union { + struct { + unsigned TUN :5; + }; + struct { + unsigned TUN0 :1; + unsigned TUN1 :1; + unsigned TUN2 :1; + unsigned TUN3 :1; + unsigned TUN4 :1; + }; +} OSCTUNEbits_t; +extern volatile OSCTUNEbits_t OSCTUNEbits __attribute__((address(0x090))); +# 1979 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPCON2 __attribute__((address(0x091))); + +__asm("SSPCON2 equ 091h"); + + +typedef union { + struct { + unsigned SEN :1; + unsigned RSEN :1; + unsigned PEN :1; + unsigned RCEN :1; + unsigned ACKEN :1; + unsigned ACKDT :1; + unsigned ACKSTAT :1; + unsigned GCEN :1; + }; +} SSPCON2bits_t; +extern volatile SSPCON2bits_t SSPCON2bits __attribute__((address(0x091))); +# 2041 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PR2 __attribute__((address(0x092))); + +__asm("PR2 equ 092h"); + + + + +extern volatile unsigned char SSPADD __attribute__((address(0x093))); + +__asm("SSPADD equ 093h"); + + + + +extern volatile unsigned char SSPMSK __attribute__((address(0x093))); + +__asm("SSPMSK equ 093h"); + + +extern volatile unsigned char MSK __attribute__((address(0x093))); + +__asm("MSK equ 093h"); + + +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} SSPMSKbits_t; +extern volatile SSPMSKbits_t SSPMSKbits __attribute__((address(0x093))); +# 2120 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} MSKbits_t; +extern volatile MSKbits_t MSKbits __attribute__((address(0x093))); +# 2177 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPSTAT __attribute__((address(0x094))); + +__asm("SSPSTAT equ 094h"); + + +typedef union { + struct { + unsigned BF :1; + unsigned UA :1; + unsigned R_nW :1; + unsigned S :1; + unsigned P :1; + unsigned D_nA :1; + unsigned CKE :1; + unsigned SMP :1; + }; + struct { + unsigned :2; + unsigned R :1; + unsigned :2; + unsigned D :1; + }; + struct { + unsigned :2; + unsigned I2C_READ :1; + unsigned I2C_START :1; + unsigned I2C_STOP :1; + unsigned I2C_DATA :1; + }; + struct { + unsigned :2; + unsigned nW :1; + unsigned :2; + unsigned nA :1; + }; + struct { + unsigned :2; + unsigned nWRITE :1; + unsigned :2; + unsigned nADDRESS :1; + }; + struct { + unsigned :2; + unsigned R_W :1; + unsigned :2; + unsigned D_A :1; + }; + struct { + unsigned :2; + unsigned READ_WRITE :1; + unsigned :2; + unsigned DATA_ADDRESS :1; + }; +} SSPSTATbits_t; +extern volatile SSPSTATbits_t SSPSTATbits __attribute__((address(0x094))); +# 2346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WPUB __attribute__((address(0x095))); + +__asm("WPUB equ 095h"); + + +typedef union { + struct { + unsigned WPUB :8; + }; + struct { + unsigned WPUB0 :1; + unsigned WPUB1 :1; + unsigned WPUB2 :1; + unsigned WPUB3 :1; + unsigned WPUB4 :1; + unsigned WPUB5 :1; + unsigned WPUB6 :1; + unsigned WPUB7 :1; + }; +} WPUBbits_t; +extern volatile WPUBbits_t WPUBbits __attribute__((address(0x095))); +# 2416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char IOCB __attribute__((address(0x096))); + +__asm("IOCB equ 096h"); + + +typedef union { + struct { + unsigned IOCB :8; + }; + struct { + unsigned IOCB0 :1; + unsigned IOCB1 :1; + unsigned IOCB2 :1; + unsigned IOCB3 :1; + unsigned IOCB4 :1; + unsigned IOCB5 :1; + unsigned IOCB6 :1; + unsigned IOCB7 :1; + }; +} IOCBbits_t; +extern volatile IOCBbits_t IOCBbits __attribute__((address(0x096))); +# 2486 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char VRCON __attribute__((address(0x097))); + +__asm("VRCON equ 097h"); + + +typedef union { + struct { + unsigned VR :4; + unsigned VRSS :1; + unsigned VRR :1; + unsigned VROE :1; + unsigned VREN :1; + }; + struct { + unsigned VR0 :1; + unsigned VR1 :1; + unsigned VR2 :1; + unsigned VR3 :1; + }; +} VRCONbits_t; +extern volatile VRCONbits_t VRCONbits __attribute__((address(0x097))); +# 2556 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXSTA __attribute__((address(0x098))); + +__asm("TXSTA equ 098h"); + + +typedef union { + struct { + unsigned TX9D :1; + unsigned TRMT :1; + unsigned BRGH :1; + unsigned SENDB :1; + unsigned SYNC :1; + unsigned TXEN :1; + unsigned TX9 :1; + unsigned CSRC :1; + }; + struct { + unsigned TXD8 :1; + unsigned :5; + unsigned nTX8 :1; + }; + struct { + unsigned :6; + unsigned TX8_9 :1; + }; +} TXSTAbits_t; +extern volatile TXSTAbits_t TXSTAbits __attribute__((address(0x098))); +# 2642 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRG __attribute__((address(0x099))); + +__asm("SPBRG equ 099h"); + + +typedef union { + struct { + unsigned BRG0 :1; + unsigned BRG1 :1; + unsigned BRG2 :1; + unsigned BRG3 :1; + unsigned BRG4 :1; + unsigned BRG5 :1; + unsigned BRG6 :1; + unsigned BRG7 :1; + }; +} SPBRGbits_t; +extern volatile SPBRGbits_t SPBRGbits __attribute__((address(0x099))); +# 2704 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRGH __attribute__((address(0x09A))); + +__asm("SPBRGH equ 09Ah"); + + +typedef union { + struct { + unsigned SPBRGH :8; + }; + struct { + unsigned BRG8 :1; + unsigned BRG9 :1; + unsigned BRG10 :1; + unsigned BRG11 :1; + unsigned BRG12 :1; + unsigned BRG13 :1; + unsigned BRG14 :1; + unsigned BRG15 :1; + }; +} SPBRGHbits_t; +extern volatile SPBRGHbits_t SPBRGHbits __attribute__((address(0x09A))); +# 2774 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PWM1CON __attribute__((address(0x09B))); + +__asm("PWM1CON equ 09Bh"); + + +typedef union { + struct { + unsigned PDC :7; + unsigned PRSEN :1; + }; + struct { + unsigned PDC0 :1; + unsigned PDC1 :1; + unsigned PDC2 :1; + unsigned PDC3 :1; + unsigned PDC4 :1; + unsigned PDC5 :1; + unsigned PDC6 :1; + }; +} PWM1CONbits_t; +extern volatile PWM1CONbits_t PWM1CONbits __attribute__((address(0x09B))); +# 2844 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ECCPAS __attribute__((address(0x09C))); + +__asm("ECCPAS equ 09Ch"); + + +typedef union { + struct { + unsigned PSSBD :2; + unsigned PSSAC :2; + unsigned ECCPAS :3; + unsigned ECCPASE :1; + }; + struct { + unsigned PSSBD0 :1; + unsigned PSSBD1 :1; + unsigned PSSAC0 :1; + unsigned PSSAC1 :1; + unsigned ECCPAS0 :1; + unsigned ECCPAS1 :1; + unsigned ECCPAS2 :1; + }; +} ECCPASbits_t; +extern volatile ECCPASbits_t ECCPASbits __attribute__((address(0x09C))); +# 2926 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PSTRCON __attribute__((address(0x09D))); + +__asm("PSTRCON equ 09Dh"); + + +typedef union { + struct { + unsigned STRA :1; + unsigned STRB :1; + unsigned STRC :1; + unsigned STRD :1; + unsigned STRSYNC :1; + }; +} PSTRCONbits_t; +extern volatile PSTRCONbits_t PSTRCONbits __attribute__((address(0x09D))); +# 2970 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESL __attribute__((address(0x09E))); + +__asm("ADRESL equ 09Eh"); + + + + +extern volatile unsigned char ADCON1 __attribute__((address(0x09F))); + +__asm("ADCON1 equ 09Fh"); + + +typedef union { + struct { + unsigned :4; + unsigned VCFG0 :1; + unsigned VCFG1 :1; + unsigned :1; + unsigned ADFM :1; + }; +} ADCON1bits_t; +extern volatile ADCON1bits_t ADCON1bits __attribute__((address(0x09F))); +# 3011 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WDTCON __attribute__((address(0x105))); + +__asm("WDTCON equ 0105h"); + + +typedef union { + struct { + unsigned SWDTEN :1; + unsigned WDTPS :4; + }; + struct { + unsigned :1; + unsigned WDTPS0 :1; + unsigned WDTPS1 :1; + unsigned WDTPS2 :1; + unsigned WDTPS3 :1; + }; +} WDTCONbits_t; +extern volatile WDTCONbits_t WDTCONbits __attribute__((address(0x105))); +# 3064 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM1CON0 __attribute__((address(0x107))); + +__asm("CM1CON0 equ 0107h"); + + +typedef union { + struct { + unsigned C1CH :2; + unsigned C1R :1; + unsigned :1; + unsigned C1POL :1; + unsigned C1OE :1; + unsigned C1OUT :1; + unsigned C1ON :1; + }; + struct { + unsigned C1CH0 :1; + unsigned C1CH1 :1; + }; +} CM1CON0bits_t; +extern volatile CM1CON0bits_t CM1CON0bits __attribute__((address(0x107))); +# 3129 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON0 __attribute__((address(0x108))); + +__asm("CM2CON0 equ 0108h"); + + +typedef union { + struct { + unsigned C2CH :2; + unsigned C2R :1; + unsigned :1; + unsigned C2POL :1; + unsigned C2OE :1; + unsigned C2OUT :1; + unsigned C2ON :1; + }; + struct { + unsigned C2CH0 :1; + unsigned C2CH1 :1; + }; +} CM2CON0bits_t; +extern volatile CM2CON0bits_t CM2CON0bits __attribute__((address(0x108))); +# 3194 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON1 __attribute__((address(0x109))); + +__asm("CM2CON1 equ 0109h"); + + +typedef union { + struct { + unsigned C2SYNC :1; + unsigned T1GSS :1; + unsigned :2; + unsigned C2RSEL :1; + unsigned C1RSEL :1; + unsigned MC2OUT :1; + unsigned MC1OUT :1; + }; +} CM2CON1bits_t; +extern volatile CM2CON1bits_t CM2CON1bits __attribute__((address(0x109))); +# 3245 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EEDATA __attribute__((address(0x10C))); + +__asm("EEDATA equ 010Ch"); + + +extern volatile unsigned char EEDAT __attribute__((address(0x10C))); + +__asm("EEDAT equ 010Ch"); + + + + +extern volatile unsigned char EEADR __attribute__((address(0x10D))); + +__asm("EEADR equ 010Dh"); + + + + +extern volatile unsigned char EEDATH __attribute__((address(0x10E))); + +__asm("EEDATH equ 010Eh"); + + + + +extern volatile unsigned char EEADRH __attribute__((address(0x10F))); + +__asm("EEADRH equ 010Fh"); + + + + +extern volatile unsigned char SRCON __attribute__((address(0x185))); + +__asm("SRCON equ 0185h"); + + +typedef union { + struct { + unsigned FVREN :1; + unsigned :1; + unsigned PULSR :1; + unsigned PULSS :1; + unsigned C2REN :1; + unsigned C1SEN :1; + unsigned SR0 :1; + unsigned SR1 :1; + }; +} SRCONbits_t; +extern volatile SRCONbits_t SRCONbits __attribute__((address(0x185))); +# 3335 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char BAUDCTL __attribute__((address(0x187))); + +__asm("BAUDCTL equ 0187h"); + + +typedef union { + struct { + unsigned ABDEN :1; + unsigned WUE :1; + unsigned :1; + unsigned BRG16 :1; + unsigned SCKP :1; + unsigned :1; + unsigned RCIDL :1; + unsigned ABDOVF :1; + }; +} BAUDCTLbits_t; +extern volatile BAUDCTLbits_t BAUDCTLbits __attribute__((address(0x187))); +# 3387 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSEL __attribute__((address(0x188))); + +__asm("ANSEL equ 0188h"); + + +typedef union { + struct { + unsigned ANS0 :1; + unsigned ANS1 :1; + unsigned ANS2 :1; + unsigned ANS3 :1; + unsigned ANS4 :1; + unsigned ANS5 :1; + unsigned ANS6 :1; + unsigned ANS7 :1; + }; +} ANSELbits_t; +extern volatile ANSELbits_t ANSELbits __attribute__((address(0x188))); +# 3449 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSELH __attribute__((address(0x189))); + +__asm("ANSELH equ 0189h"); + + +typedef union { + struct { + unsigned ANS8 :1; + unsigned ANS9 :1; + unsigned ANS10 :1; + unsigned ANS11 :1; + unsigned ANS12 :1; + unsigned ANS13 :1; + }; +} ANSELHbits_t; +extern volatile ANSELHbits_t ANSELHbits __attribute__((address(0x189))); +# 3499 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON1 __attribute__((address(0x18C))); + +__asm("EECON1 equ 018Ch"); + + +typedef union { + struct { + unsigned RD :1; + unsigned WR :1; + unsigned WREN :1; + unsigned WRERR :1; + unsigned :3; + unsigned EEPGD :1; + }; +} EECON1bits_t; +extern volatile EECON1bits_t EECON1bits __attribute__((address(0x18C))); +# 3544 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON2 __attribute__((address(0x18D))); + +__asm("EECON2 equ 018Dh"); +# 3561 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile __bit ABDEN __attribute__((address(0xC38))); + + +extern volatile __bit ABDOVF __attribute__((address(0xC3F))); + + +extern volatile __bit ACKDT __attribute__((address(0x48D))); + + +extern volatile __bit ACKEN __attribute__((address(0x48C))); + + +extern volatile __bit ACKSTAT __attribute__((address(0x48E))); + + +extern volatile __bit ADCS0 __attribute__((address(0xFE))); + + +extern volatile __bit ADCS1 __attribute__((address(0xFF))); + + +extern volatile __bit ADDEN __attribute__((address(0xC3))); + + +extern volatile __bit ADFM __attribute__((address(0x4FF))); + + +extern volatile __bit ADIE __attribute__((address(0x466))); + + +extern volatile __bit ADIF __attribute__((address(0x66))); + + +extern volatile __bit ADON __attribute__((address(0xF8))); + + +extern volatile __bit ANS0 __attribute__((address(0xC40))); + + +extern volatile __bit ANS1 __attribute__((address(0xC41))); + + +extern volatile __bit ANS10 __attribute__((address(0xC4A))); + + +extern volatile __bit ANS11 __attribute__((address(0xC4B))); + + +extern volatile __bit ANS12 __attribute__((address(0xC4C))); + + +extern volatile __bit ANS13 __attribute__((address(0xC4D))); + + +extern volatile __bit ANS2 __attribute__((address(0xC42))); + + +extern volatile __bit ANS3 __attribute__((address(0xC43))); + + +extern volatile __bit ANS4 __attribute__((address(0xC44))); + + +extern volatile __bit ANS5 __attribute__((address(0xC45))); + + +extern volatile __bit ANS6 __attribute__((address(0xC46))); + + +extern volatile __bit ANS7 __attribute__((address(0xC47))); + + +extern volatile __bit ANS8 __attribute__((address(0xC48))); + + +extern volatile __bit ANS9 __attribute__((address(0xC49))); + + +extern volatile __bit BCLIE __attribute__((address(0x46B))); + + +extern volatile __bit BCLIF __attribute__((address(0x6B))); + + +extern volatile __bit BF __attribute__((address(0x4A0))); + + +extern volatile __bit BRG0 __attribute__((address(0x4C8))); + + +extern volatile __bit BRG1 __attribute__((address(0x4C9))); + + +extern volatile __bit BRG10 __attribute__((address(0x4D2))); + + +extern volatile __bit BRG11 __attribute__((address(0x4D3))); + + +extern volatile __bit BRG12 __attribute__((address(0x4D4))); + + +extern volatile __bit BRG13 __attribute__((address(0x4D5))); + + +extern volatile __bit BRG14 __attribute__((address(0x4D6))); + + +extern volatile __bit BRG15 __attribute__((address(0x4D7))); + + +extern volatile __bit BRG16 __attribute__((address(0xC3B))); + + +extern volatile __bit BRG2 __attribute__((address(0x4CA))); + + +extern volatile __bit BRG3 __attribute__((address(0x4CB))); + + +extern volatile __bit BRG4 __attribute__((address(0x4CC))); + + +extern volatile __bit BRG5 __attribute__((address(0x4CD))); + + +extern volatile __bit BRG6 __attribute__((address(0x4CE))); + + +extern volatile __bit BRG7 __attribute__((address(0x4CF))); + + +extern volatile __bit BRG8 __attribute__((address(0x4D0))); + + +extern volatile __bit BRG9 __attribute__((address(0x4D1))); + + +extern volatile __bit BRGH __attribute__((address(0x4C2))); + + +extern volatile __bit C1CH0 __attribute__((address(0x838))); + + +extern volatile __bit C1CH1 __attribute__((address(0x839))); + + +extern volatile __bit C1IE __attribute__((address(0x46D))); + + +extern volatile __bit C1IF __attribute__((address(0x6D))); + + +extern volatile __bit C1OE __attribute__((address(0x83D))); + + +extern volatile __bit C1ON __attribute__((address(0x83F))); + + +extern volatile __bit C1OUT __attribute__((address(0x83E))); + + +extern volatile __bit C1POL __attribute__((address(0x83C))); + + +extern volatile __bit C1R __attribute__((address(0x83A))); + + +extern volatile __bit C1RSEL __attribute__((address(0x84D))); + + +extern volatile __bit C1SEN __attribute__((address(0xC2D))); + + +extern volatile __bit C2CH0 __attribute__((address(0x840))); + + +extern volatile __bit C2CH1 __attribute__((address(0x841))); + + +extern volatile __bit C2IE __attribute__((address(0x46E))); + + +extern volatile __bit C2IF __attribute__((address(0x6E))); + + +extern volatile __bit C2OE __attribute__((address(0x845))); + + +extern volatile __bit C2ON __attribute__((address(0x847))); + + +extern volatile __bit C2OUT __attribute__((address(0x846))); + + +extern volatile __bit C2POL __attribute__((address(0x844))); + + +extern volatile __bit C2R __attribute__((address(0x842))); + + +extern volatile __bit C2REN __attribute__((address(0xC2C))); + + +extern volatile __bit C2RSEL __attribute__((address(0x84C))); + + +extern volatile __bit C2SYNC __attribute__((address(0x848))); + + +extern volatile __bit CARRY __attribute__((address(0x18))); + + +extern volatile __bit CCP1IE __attribute__((address(0x462))); + + +extern volatile __bit CCP1IF __attribute__((address(0x62))); + + +extern volatile __bit CCP1M0 __attribute__((address(0xB8))); + + +extern volatile __bit CCP1M1 __attribute__((address(0xB9))); + + +extern volatile __bit CCP1M2 __attribute__((address(0xBA))); + + +extern volatile __bit CCP1M3 __attribute__((address(0xBB))); + + +extern volatile __bit CCP1X __attribute__((address(0xBD))); + + +extern volatile __bit CCP1Y __attribute__((address(0xBC))); + + +extern volatile __bit CCP2IE __attribute__((address(0x468))); + + +extern volatile __bit CCP2IF __attribute__((address(0x68))); + + +extern volatile __bit CCP2M0 __attribute__((address(0xE8))); + + +extern volatile __bit CCP2M1 __attribute__((address(0xE9))); + + +extern volatile __bit CCP2M2 __attribute__((address(0xEA))); + + +extern volatile __bit CCP2M3 __attribute__((address(0xEB))); + + +extern volatile __bit CCP2X __attribute__((address(0xED))); + + +extern volatile __bit CCP2Y __attribute__((address(0xEC))); + + +extern volatile __bit CHS0 __attribute__((address(0xFA))); + + +extern volatile __bit CHS1 __attribute__((address(0xFB))); + + +extern volatile __bit CHS2 __attribute__((address(0xFC))); + + +extern volatile __bit CHS3 __attribute__((address(0xFD))); + + +extern volatile __bit CKE __attribute__((address(0x4A6))); + + +extern volatile __bit CKP __attribute__((address(0xA4))); + + +extern volatile __bit CREN __attribute__((address(0xC4))); + + +extern volatile __bit CSRC __attribute__((address(0x4C7))); + + +extern volatile __bit DATA_ADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit DC __attribute__((address(0x19))); + + +extern volatile __bit DC1B0 __attribute__((address(0xBC))); + + +extern volatile __bit DC1B1 __attribute__((address(0xBD))); + + +extern volatile __bit DC2B0 __attribute__((address(0xEC))); + + +extern volatile __bit DC2B1 __attribute__((address(0xED))); + + +extern volatile __bit D_A __attribute__((address(0x4A5))); + + +extern volatile __bit D_nA __attribute__((address(0x4A5))); + + +extern volatile __bit ECCPAS0 __attribute__((address(0x4E4))); + + +extern volatile __bit ECCPAS1 __attribute__((address(0x4E5))); + + +extern volatile __bit ECCPAS2 __attribute__((address(0x4E6))); + + +extern volatile __bit ECCPASE __attribute__((address(0x4E7))); + + +extern volatile __bit EEIE __attribute__((address(0x46C))); + + +extern volatile __bit EEIF __attribute__((address(0x6C))); + + +extern volatile __bit EEPGD __attribute__((address(0xC67))); + + +extern volatile __bit FERR __attribute__((address(0xC2))); + + +extern volatile __bit FVREN __attribute__((address(0xC28))); + + +extern volatile __bit GCEN __attribute__((address(0x48F))); + + +extern volatile __bit GIE __attribute__((address(0x5F))); + + +extern volatile __bit GO __attribute__((address(0xF9))); + + +extern volatile __bit GO_DONE __attribute__((address(0xF9))); + + +extern volatile __bit GO_nDONE __attribute__((address(0xF9))); + + +extern volatile __bit HTS __attribute__((address(0x47A))); + + +extern volatile __bit I2C_DATA __attribute__((address(0x4A5))); + + +extern volatile __bit I2C_READ __attribute__((address(0x4A2))); + + +extern volatile __bit I2C_START __attribute__((address(0x4A3))); + + +extern volatile __bit I2C_STOP __attribute__((address(0x4A4))); + + +extern volatile __bit INTE __attribute__((address(0x5C))); + + +extern volatile __bit INTEDG __attribute__((address(0x40E))); + + +extern volatile __bit INTF __attribute__((address(0x59))); + + +extern volatile __bit IOCB0 __attribute__((address(0x4B0))); + + +extern volatile __bit IOCB1 __attribute__((address(0x4B1))); + + +extern volatile __bit IOCB2 __attribute__((address(0x4B2))); + + +extern volatile __bit IOCB3 __attribute__((address(0x4B3))); + + +extern volatile __bit IOCB4 __attribute__((address(0x4B4))); + + +extern volatile __bit IOCB5 __attribute__((address(0x4B5))); + + +extern volatile __bit IOCB6 __attribute__((address(0x4B6))); + + +extern volatile __bit IOCB7 __attribute__((address(0x4B7))); + + +extern volatile __bit IRCF0 __attribute__((address(0x47C))); + + +extern volatile __bit IRCF1 __attribute__((address(0x47D))); + + +extern volatile __bit IRCF2 __attribute__((address(0x47E))); + + +extern volatile __bit IRP __attribute__((address(0x1F))); + + +extern volatile __bit LTS __attribute__((address(0x479))); + + +extern volatile __bit MC1OUT __attribute__((address(0x84F))); + + +extern volatile __bit MC2OUT __attribute__((address(0x84E))); + + +extern volatile __bit MSK0 __attribute__((address(0x498))); + + +extern volatile __bit MSK1 __attribute__((address(0x499))); + + +extern volatile __bit MSK2 __attribute__((address(0x49A))); + + +extern volatile __bit MSK3 __attribute__((address(0x49B))); + + +extern volatile __bit MSK4 __attribute__((address(0x49C))); + + +extern volatile __bit MSK5 __attribute__((address(0x49D))); + + +extern volatile __bit MSK6 __attribute__((address(0x49E))); + + +extern volatile __bit MSK7 __attribute__((address(0x49F))); + + +extern volatile __bit OERR __attribute__((address(0xC1))); + + +extern volatile __bit OSFIE __attribute__((address(0x46F))); + + +extern volatile __bit OSFIF __attribute__((address(0x6F))); + + +extern volatile __bit OSTS __attribute__((address(0x47B))); + + +extern volatile __bit P1M0 __attribute__((address(0xBE))); + + +extern volatile __bit P1M1 __attribute__((address(0xBF))); + + +extern volatile __bit PDC0 __attribute__((address(0x4D8))); + + +extern volatile __bit PDC1 __attribute__((address(0x4D9))); + + +extern volatile __bit PDC2 __attribute__((address(0x4DA))); + + +extern volatile __bit PDC3 __attribute__((address(0x4DB))); + + +extern volatile __bit PDC4 __attribute__((address(0x4DC))); + + +extern volatile __bit PDC5 __attribute__((address(0x4DD))); + + +extern volatile __bit PDC6 __attribute__((address(0x4DE))); + + +extern volatile __bit PEIE __attribute__((address(0x5E))); + + +extern volatile __bit PEN __attribute__((address(0x48A))); + + +extern volatile __bit PRSEN __attribute__((address(0x4DF))); + + +extern volatile __bit PS0 __attribute__((address(0x408))); + + +extern volatile __bit PS1 __attribute__((address(0x409))); + + +extern volatile __bit PS2 __attribute__((address(0x40A))); + + +extern volatile __bit PSA __attribute__((address(0x40B))); + + +extern volatile __bit PSSAC0 __attribute__((address(0x4E2))); + + +extern volatile __bit PSSAC1 __attribute__((address(0x4E3))); + + +extern volatile __bit PSSBD0 __attribute__((address(0x4E0))); + + +extern volatile __bit PSSBD1 __attribute__((address(0x4E1))); + + +extern volatile __bit PULSR __attribute__((address(0xC2A))); + + +extern volatile __bit PULSS __attribute__((address(0xC2B))); + + +extern volatile __bit RA0 __attribute__((address(0x28))); + + +extern volatile __bit RA1 __attribute__((address(0x29))); + + +extern volatile __bit RA2 __attribute__((address(0x2A))); + + +extern volatile __bit RA3 __attribute__((address(0x2B))); + + +extern volatile __bit RA4 __attribute__((address(0x2C))); + + +extern volatile __bit RA5 __attribute__((address(0x2D))); + + +extern volatile __bit RA6 __attribute__((address(0x2E))); + + +extern volatile __bit RA7 __attribute__((address(0x2F))); + + +extern volatile __bit RB0 __attribute__((address(0x30))); + + +extern volatile __bit RB1 __attribute__((address(0x31))); + + +extern volatile __bit RB2 __attribute__((address(0x32))); + + +extern volatile __bit RB3 __attribute__((address(0x33))); + + +extern volatile __bit RB4 __attribute__((address(0x34))); + + +extern volatile __bit RB5 __attribute__((address(0x35))); + + +extern volatile __bit RB6 __attribute__((address(0x36))); + + +extern volatile __bit RB7 __attribute__((address(0x37))); + + +extern volatile __bit RBIE __attribute__((address(0x5B))); + + +extern volatile __bit RBIF __attribute__((address(0x58))); + + +extern volatile __bit RC0 __attribute__((address(0x38))); + + +extern volatile __bit RC1 __attribute__((address(0x39))); + + +extern volatile __bit RC2 __attribute__((address(0x3A))); + + +extern volatile __bit RC3 __attribute__((address(0x3B))); + + +extern volatile __bit RC4 __attribute__((address(0x3C))); + + +extern volatile __bit RC5 __attribute__((address(0x3D))); + + +extern volatile __bit RC6 __attribute__((address(0x3E))); + + +extern volatile __bit RC7 __attribute__((address(0x3F))); + + +extern volatile __bit RC8_9 __attribute__((address(0xC6))); + + +extern volatile __bit RC9 __attribute__((address(0xC6))); + + +extern volatile __bit RCD8 __attribute__((address(0xC0))); + + +extern volatile __bit RCEN __attribute__((address(0x48B))); + + +extern volatile __bit RCIDL __attribute__((address(0xC3E))); + + +extern volatile __bit RCIE __attribute__((address(0x465))); + + +extern volatile __bit RCIF __attribute__((address(0x65))); + + +extern volatile __bit RD __attribute__((address(0xC60))); + + +extern volatile __bit RD0 __attribute__((address(0x40))); + + +extern volatile __bit RD1 __attribute__((address(0x41))); + + +extern volatile __bit RD2 __attribute__((address(0x42))); + + +extern volatile __bit RD3 __attribute__((address(0x43))); + + +extern volatile __bit RD4 __attribute__((address(0x44))); + + +extern volatile __bit RD5 __attribute__((address(0x45))); + + +extern volatile __bit RD6 __attribute__((address(0x46))); + + +extern volatile __bit RD7 __attribute__((address(0x47))); + + +extern volatile __bit RE0 __attribute__((address(0x48))); + + +extern volatile __bit RE1 __attribute__((address(0x49))); + + +extern volatile __bit RE2 __attribute__((address(0x4A))); + + +extern volatile __bit RE3 __attribute__((address(0x4B))); + + +extern volatile __bit READ_WRITE __attribute__((address(0x4A2))); + + +extern volatile __bit RP0 __attribute__((address(0x1D))); + + +extern volatile __bit RP1 __attribute__((address(0x1E))); + + +extern volatile __bit RSEN __attribute__((address(0x489))); + + +extern volatile __bit RX9 __attribute__((address(0xC6))); + + +extern volatile __bit RX9D __attribute__((address(0xC0))); + + +extern volatile __bit R_W __attribute__((address(0x4A2))); + + +extern volatile __bit R_nW __attribute__((address(0x4A2))); + + +extern volatile __bit SBOREN __attribute__((address(0x474))); + + +extern volatile __bit SCKP __attribute__((address(0xC3C))); + + +extern volatile __bit SCS __attribute__((address(0x478))); + + +extern volatile __bit SEN __attribute__((address(0x488))); + + +extern volatile __bit SENDB __attribute__((address(0x4C3))); + + +extern volatile __bit SMP __attribute__((address(0x4A7))); + + +extern volatile __bit SPEN __attribute__((address(0xC7))); + + +extern volatile __bit SR0 __attribute__((address(0xC2E))); + + +extern volatile __bit SR1 __attribute__((address(0xC2F))); + + +extern volatile __bit SREN __attribute__((address(0xC5))); + + +extern volatile __bit SSPEN __attribute__((address(0xA5))); + + +extern volatile __bit SSPIE __attribute__((address(0x463))); + + +extern volatile __bit SSPIF __attribute__((address(0x63))); + + +extern volatile __bit SSPM0 __attribute__((address(0xA0))); + + +extern volatile __bit SSPM1 __attribute__((address(0xA1))); + + +extern volatile __bit SSPM2 __attribute__((address(0xA2))); + + +extern volatile __bit SSPM3 __attribute__((address(0xA3))); + + +extern volatile __bit SSPOV __attribute__((address(0xA6))); + + +extern volatile __bit STRA __attribute__((address(0x4E8))); + + +extern volatile __bit STRB __attribute__((address(0x4E9))); + + +extern volatile __bit STRC __attribute__((address(0x4EA))); + + +extern volatile __bit STRD __attribute__((address(0x4EB))); + + +extern volatile __bit STRSYNC __attribute__((address(0x4EC))); + + +extern volatile __bit SWDTEN __attribute__((address(0x828))); + + +extern volatile __bit SYNC __attribute__((address(0x4C4))); + + +extern volatile __bit T0CS __attribute__((address(0x40D))); + + +extern volatile __bit T0IE __attribute__((address(0x5D))); + + +extern volatile __bit T0IF __attribute__((address(0x5A))); + + +extern volatile __bit T0SE __attribute__((address(0x40C))); + + +extern volatile __bit T1CKPS0 __attribute__((address(0x84))); + + +extern volatile __bit T1CKPS1 __attribute__((address(0x85))); + + +extern volatile __bit T1GINV __attribute__((address(0x87))); + + +extern volatile __bit T1GIV __attribute__((address(0x87))); + + +extern volatile __bit T1GSS __attribute__((address(0x849))); + + +extern volatile __bit T1INSYNC __attribute__((address(0x82))); + + +extern volatile __bit T1OSCEN __attribute__((address(0x83))); + + +extern volatile __bit T1SYNC __attribute__((address(0x82))); + + +extern volatile __bit T2CKPS0 __attribute__((address(0x90))); + + +extern volatile __bit T2CKPS1 __attribute__((address(0x91))); + + +extern volatile __bit TMR0IE __attribute__((address(0x5D))); + + +extern volatile __bit TMR0IF __attribute__((address(0x5A))); + + +extern volatile __bit TMR1CS __attribute__((address(0x81))); + + +extern volatile __bit TMR1GE __attribute__((address(0x86))); + + +extern volatile __bit TMR1IE __attribute__((address(0x460))); + + +extern volatile __bit TMR1IF __attribute__((address(0x60))); + + +extern volatile __bit TMR1ON __attribute__((address(0x80))); + + +extern volatile __bit TMR2IE __attribute__((address(0x461))); + + +extern volatile __bit TMR2IF __attribute__((address(0x61))); + + +extern volatile __bit TMR2ON __attribute__((address(0x92))); + + +extern volatile __bit TOUTPS0 __attribute__((address(0x93))); + + +extern volatile __bit TOUTPS1 __attribute__((address(0x94))); + + +extern volatile __bit TOUTPS2 __attribute__((address(0x95))); + + +extern volatile __bit TOUTPS3 __attribute__((address(0x96))); + + +extern volatile __bit TRISA0 __attribute__((address(0x428))); + + +extern volatile __bit TRISA1 __attribute__((address(0x429))); + + +extern volatile __bit TRISA2 __attribute__((address(0x42A))); + + +extern volatile __bit TRISA3 __attribute__((address(0x42B))); + + +extern volatile __bit TRISA4 __attribute__((address(0x42C))); + + +extern volatile __bit TRISA5 __attribute__((address(0x42D))); + + +extern volatile __bit TRISA6 __attribute__((address(0x42E))); + + +extern volatile __bit TRISA7 __attribute__((address(0x42F))); + + +extern volatile __bit TRISB0 __attribute__((address(0x430))); + + +extern volatile __bit TRISB1 __attribute__((address(0x431))); + + +extern volatile __bit TRISB2 __attribute__((address(0x432))); + + +extern volatile __bit TRISB3 __attribute__((address(0x433))); + + +extern volatile __bit TRISB4 __attribute__((address(0x434))); + + +extern volatile __bit TRISB5 __attribute__((address(0x435))); + + +extern volatile __bit TRISB6 __attribute__((address(0x436))); + + +extern volatile __bit TRISB7 __attribute__((address(0x437))); + + +extern volatile __bit TRISC0 __attribute__((address(0x438))); + + +extern volatile __bit TRISC1 __attribute__((address(0x439))); + + +extern volatile __bit TRISC2 __attribute__((address(0x43A))); + + +extern volatile __bit TRISC3 __attribute__((address(0x43B))); + + +extern volatile __bit TRISC4 __attribute__((address(0x43C))); + + +extern volatile __bit TRISC5 __attribute__((address(0x43D))); + + +extern volatile __bit TRISC6 __attribute__((address(0x43E))); + + +extern volatile __bit TRISC7 __attribute__((address(0x43F))); + + +extern volatile __bit TRISD0 __attribute__((address(0x440))); + + +extern volatile __bit TRISD1 __attribute__((address(0x441))); + + +extern volatile __bit TRISD2 __attribute__((address(0x442))); + + +extern volatile __bit TRISD3 __attribute__((address(0x443))); + + +extern volatile __bit TRISD4 __attribute__((address(0x444))); + + +extern volatile __bit TRISD5 __attribute__((address(0x445))); + + +extern volatile __bit TRISD6 __attribute__((address(0x446))); + + +extern volatile __bit TRISD7 __attribute__((address(0x447))); + + +extern volatile __bit TRISE0 __attribute__((address(0x448))); + + +extern volatile __bit TRISE1 __attribute__((address(0x449))); + + +extern volatile __bit TRISE2 __attribute__((address(0x44A))); + + +extern volatile __bit TRISE3 __attribute__((address(0x44B))); + + +extern volatile __bit TRMT __attribute__((address(0x4C1))); + + +extern volatile __bit TUN0 __attribute__((address(0x480))); + + +extern volatile __bit TUN1 __attribute__((address(0x481))); + + +extern volatile __bit TUN2 __attribute__((address(0x482))); + + +extern volatile __bit TUN3 __attribute__((address(0x483))); + + +extern volatile __bit TUN4 __attribute__((address(0x484))); + + +extern volatile __bit TX8_9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9D __attribute__((address(0x4C0))); + + +extern volatile __bit TXD8 __attribute__((address(0x4C0))); + + +extern volatile __bit TXEN __attribute__((address(0x4C5))); + + +extern volatile __bit TXIE __attribute__((address(0x464))); + + +extern volatile __bit TXIF __attribute__((address(0x64))); + + +extern volatile __bit UA __attribute__((address(0x4A1))); + + +extern volatile __bit ULPWUE __attribute__((address(0x475))); + + +extern volatile __bit ULPWUIE __attribute__((address(0x46A))); + + +extern volatile __bit ULPWUIF __attribute__((address(0x6A))); + + +extern volatile __bit VCFG0 __attribute__((address(0x4FC))); + + +extern volatile __bit VCFG1 __attribute__((address(0x4FD))); + + +extern volatile __bit VR0 __attribute__((address(0x4B8))); + + +extern volatile __bit VR1 __attribute__((address(0x4B9))); + + +extern volatile __bit VR2 __attribute__((address(0x4BA))); + + +extern volatile __bit VR3 __attribute__((address(0x4BB))); + + +extern volatile __bit VREN __attribute__((address(0x4BF))); + + +extern volatile __bit VROE __attribute__((address(0x4BE))); + + +extern volatile __bit VRR __attribute__((address(0x4BD))); + + +extern volatile __bit VRSS __attribute__((address(0x4BC))); + + +extern volatile __bit WCOL __attribute__((address(0xA7))); + + +extern volatile __bit WDTPS0 __attribute__((address(0x829))); + + +extern volatile __bit WDTPS1 __attribute__((address(0x82A))); + + +extern volatile __bit WDTPS2 __attribute__((address(0x82B))); + + +extern volatile __bit WDTPS3 __attribute__((address(0x82C))); + + +extern volatile __bit WPUB0 __attribute__((address(0x4A8))); + + +extern volatile __bit WPUB1 __attribute__((address(0x4A9))); + + +extern volatile __bit WPUB2 __attribute__((address(0x4AA))); + + +extern volatile __bit WPUB3 __attribute__((address(0x4AB))); + + +extern volatile __bit WPUB4 __attribute__((address(0x4AC))); + + +extern volatile __bit WPUB5 __attribute__((address(0x4AD))); + + +extern volatile __bit WPUB6 __attribute__((address(0x4AE))); + + +extern volatile __bit WPUB7 __attribute__((address(0x4AF))); + + +extern volatile __bit WR __attribute__((address(0xC61))); + + +extern volatile __bit WREN __attribute__((address(0xC62))); + + +extern volatile __bit WRERR __attribute__((address(0xC63))); + + +extern volatile __bit WUE __attribute__((address(0xC39))); + + +extern volatile __bit ZERO __attribute__((address(0x1A))); + + +extern volatile __bit nA __attribute__((address(0x4A5))); + + +extern volatile __bit nADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit nBO __attribute__((address(0x470))); + + +extern volatile __bit nBOR __attribute__((address(0x470))); + + +extern volatile __bit nDONE __attribute__((address(0xF9))); + + +extern volatile __bit nPD __attribute__((address(0x1B))); + + +extern volatile __bit nPOR __attribute__((address(0x471))); + + +extern volatile __bit nRBPU __attribute__((address(0x40F))); + + +extern volatile __bit nRC8 __attribute__((address(0xC6))); + + +extern volatile __bit nT1SYNC __attribute__((address(0x82))); + + +extern volatile __bit nTO __attribute__((address(0x1C))); + + +extern volatile __bit nTX8 __attribute__((address(0x4C6))); + + +extern volatile __bit nW __attribute__((address(0x4A2))); + + +extern volatile __bit nWRITE __attribute__((address(0x4A2))); +# 725 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 2 3 +# 14 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 76 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +__attribute__((__unsupported__("The " "FLASH_READ" " macro function is no longer supported. Please use the MPLAB X MCC."))) unsigned char __flash_read(unsigned short addr); + +__attribute__((__unsupported__("The " "FLASH_WRITE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_write(unsigned short addr, unsigned short data); + +__attribute__((__unsupported__("The " "FLASH_ERASE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_erase(unsigned short addr); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 1 3 +# 114 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 3 +extern void eeprom_write(unsigned char addr, unsigned char value); +extern unsigned char eeprom_read(unsigned char addr); +# 84 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 118 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +extern __bank0 unsigned char __resetbits; +extern __bank0 __bit __powerdown; +extern __bank0 __bit __timeout; +# 29 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 5 "src/../include/config.h" 2 + + + + +#pragma config FOSC = INTRC_NOCLKOUT +#pragma config WDTE = OFF +#pragma config PWRTE = ON +#pragma config MCLRE = OFF +#pragma config CP = OFF +#pragma config CPD = OFF +#pragma config BOREN = ON +#pragma config IESO = OFF +#pragma config FCMEN = OFF +#pragma config LVP = OFF +#pragma config BOR4V = BOR40V +#pragma config WRT = OFF +# 2 "src/rotary_encoder.c" 2 + + + +# 1 "src/../include/rotary_encoder.h" 1 + + + +typedef enum { ROTATE_LEFT = 1, ROTATE_RIGHT = 2 } RotaryEncoderStates; + + +void parse_rotary(char pinA, char pinB, char *counter, char max, char min); +# 5 "src/rotary_encoder.c" 2 + + +void parse_rotary(char pinA, char pinB, char* counter, char max, char min) { + + static unsigned char prevState; + unsigned char state; + + + _delay((unsigned long)((1)*(500000/4000.0))); + + + state = (unsigned char)(pinB << 1 | pinA); + + + if (prevState == 0) { + if (state == ROTATE_LEFT) (*counter)--; + else if (state == ROTATE_RIGHT) (*counter)++; + } + + + if (*counter > max) *counter = min; + else if (*counter < min) *counter = max; + + + + prevState = state; + PORTB = PORTB; +} diff --git a/build/default/debug/src/rotary_encoder.p1 b/build/default/debug/src/rotary_encoder.p1 new file mode 100644 index 0000000..cba11db --- /dev/null +++ b/build/default/debug/src/rotary_encoder.p1 @@ -0,0 +1,335 @@ +Version 4.0 HI-TECH Software Intermediate Code +[v F164 `(v ~T0 @X0 1 tf1`ul ] +"12 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\builtins.h +[v __delay `JF164 ~T0 @X0 0 e ] +[p i __delay ] +"20 src/rotary_encoder.c +[; ;src/rotary_encoder.c: 20: if (state == ROTATE_LEFT) (*counter)--; +[c E1420 1 2 .. ] +[n E1420 . ROTATE_LEFT ROTATE_RIGHT ] +"228 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 228: extern volatile unsigned char PORTB __attribute__((address(0x006))); +[v _PORTB `Vuc ~T0 @X0 0 e@6 ] +"54 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 54: __asm("INDF equ 00h"); +[; <" INDF equ 00h ;# "> +"61 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 61: __asm("TMR0 equ 01h"); +[; <" TMR0 equ 01h ;# "> +"68 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 68: __asm("PCL equ 02h"); +[; <" PCL equ 02h ;# "> +"75 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 75: __asm("STATUS equ 03h"); +[; <" STATUS equ 03h ;# "> +"161 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 161: __asm("FSR equ 04h"); +[; <" FSR equ 04h ;# "> +"168 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 168: __asm("PORTA equ 05h"); +[; <" PORTA equ 05h ;# "> +"230 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 230: __asm("PORTB equ 06h"); +[; <" PORTB equ 06h ;# "> +"292 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 292: __asm("PORTC equ 07h"); +[; <" PORTC equ 07h ;# "> +"354 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 354: __asm("PORTD equ 08h"); +[; <" PORTD equ 08h ;# "> +"416 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 416: __asm("PORTE equ 09h"); +[; <" PORTE equ 09h ;# "> +"454 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 454: __asm("PCLATH equ 0Ah"); +[; <" PCLATH equ 0Ah ;# "> +"461 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 461: __asm("INTCON equ 0Bh"); +[; <" INTCON equ 0Bh ;# "> +"539 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 539: __asm("PIR1 equ 0Ch"); +[; <" PIR1 equ 0Ch ;# "> +"595 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 595: __asm("PIR2 equ 0Dh"); +[; <" PIR2 equ 0Dh ;# "> +"652 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 652: __asm("TMR1 equ 0Eh"); +[; <" TMR1 equ 0Eh ;# "> +"659 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 659: __asm("TMR1L equ 0Eh"); +[; <" TMR1L equ 0Eh ;# "> +"666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 666: __asm("TMR1H equ 0Fh"); +[; <" TMR1H equ 0Fh ;# "> +"673 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 673: __asm("T1CON equ 010h"); +[; <" T1CON equ 010h ;# "> +"767 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 767: __asm("TMR2 equ 011h"); +[; <" TMR2 equ 011h ;# "> +"774 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 774: __asm("T2CON equ 012h"); +[; <" T2CON equ 012h ;# "> +"845 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 845: __asm("SSPBUF equ 013h"); +[; <" SSPBUF equ 013h ;# "> +"852 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 852: __asm("SSPCON equ 014h"); +[; <" SSPCON equ 014h ;# "> +"922 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 922: __asm("CCPR1 equ 015h"); +[; <" CCPR1 equ 015h ;# "> +"929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 929: __asm("CCPR1L equ 015h"); +[; <" CCPR1L equ 015h ;# "> +"936 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 936: __asm("CCPR1H equ 016h"); +[; <" CCPR1H equ 016h ;# "> +"943 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 943: __asm("CCP1CON equ 017h"); +[; <" CCP1CON equ 017h ;# "> +"1040 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1040: __asm("RCSTA equ 018h"); +[; <" RCSTA equ 018h ;# "> +"1135 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1135: __asm("TXREG equ 019h"); +[; <" TXREG equ 019h ;# "> +"1142 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1142: __asm("RCREG equ 01Ah"); +[; <" RCREG equ 01Ah ;# "> +"1149 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1149: __asm("CCPR2 equ 01Bh"); +[; <" CCPR2 equ 01Bh ;# "> +"1156 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1156: __asm("CCPR2L equ 01Bh"); +[; <" CCPR2L equ 01Bh ;# "> +"1163 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1163: __asm("CCPR2H equ 01Ch"); +[; <" CCPR2H equ 01Ch ;# "> +"1170 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1170: __asm("CCP2CON equ 01Dh"); +[; <" CCP2CON equ 01Dh ;# "> +"1240 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1240: __asm("ADRESH equ 01Eh"); +[; <" ADRESH equ 01Eh ;# "> +"1247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1247: __asm("ADCON0 equ 01Fh"); +[; <" ADCON0 equ 01Fh ;# "> +"1348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1348: __asm("OPTION_REG equ 081h"); +[; <" OPTION_REG equ 081h ;# "> +"1418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1418: __asm("TRISA equ 085h"); +[; <" TRISA equ 085h ;# "> +"1480 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1480: __asm("TRISB equ 086h"); +[; <" TRISB equ 086h ;# "> +"1542 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1542: __asm("TRISC equ 087h"); +[; <" TRISC equ 087h ;# "> +"1604 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1604: __asm("TRISD equ 088h"); +[; <" TRISD equ 088h ;# "> +"1666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1666: __asm("TRISE equ 089h"); +[; <" TRISE equ 089h ;# "> +"1704 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1704: __asm("PIE1 equ 08Ch"); +[; <" PIE1 equ 08Ch ;# "> +"1760 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1760: __asm("PIE2 equ 08Dh"); +[; <" PIE2 equ 08Dh ;# "> +"1817 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1817: __asm("PCON equ 08Eh"); +[; <" PCON equ 08Eh ;# "> +"1864 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1864: __asm("OSCCON equ 08Fh"); +[; <" OSCCON equ 08Fh ;# "> +"1929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1929: __asm("OSCTUNE equ 090h"); +[; <" OSCTUNE equ 090h ;# "> +"1981 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1981: __asm("SSPCON2 equ 091h"); +[; <" SSPCON2 equ 091h ;# "> +"2043 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2043: __asm("PR2 equ 092h"); +[; <" PR2 equ 092h ;# "> +"2050 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2050: __asm("SSPADD equ 093h"); +[; <" SSPADD equ 093h ;# "> +"2057 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2057: __asm("SSPMSK equ 093h"); +[; <" SSPMSK equ 093h ;# "> +"2062 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2062: __asm("MSK equ 093h"); +[; <" MSK equ 093h ;# "> +"2179 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2179: __asm("SSPSTAT equ 094h"); +[; <" SSPSTAT equ 094h ;# "> +"2348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2348: __asm("WPUB equ 095h"); +[; <" WPUB equ 095h ;# "> +"2418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2418: __asm("IOCB equ 096h"); +[; <" IOCB equ 096h ;# "> +"2488 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2488: __asm("VRCON equ 097h"); +[; <" VRCON equ 097h ;# "> +"2558 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2558: __asm("TXSTA equ 098h"); +[; <" TXSTA equ 098h ;# "> +"2644 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2644: __asm("SPBRG equ 099h"); +[; <" SPBRG equ 099h ;# "> +"2706 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2706: __asm("SPBRGH equ 09Ah"); +[; <" SPBRGH equ 09Ah ;# "> +"2776 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2776: __asm("PWM1CON equ 09Bh"); +[; <" PWM1CON equ 09Bh ;# "> +"2846 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2846: __asm("ECCPAS equ 09Ch"); +[; <" ECCPAS equ 09Ch ;# "> +"2928 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2928: __asm("PSTRCON equ 09Dh"); +[; <" PSTRCON equ 09Dh ;# "> +"2972 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2972: __asm("ADRESL equ 09Eh"); +[; <" ADRESL equ 09Eh ;# "> +"2979 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2979: __asm("ADCON1 equ 09Fh"); +[; <" ADCON1 equ 09Fh ;# "> +"3013 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3013: __asm("WDTCON equ 0105h"); +[; <" WDTCON equ 0105h ;# "> +"3066 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3066: __asm("CM1CON0 equ 0107h"); +[; <" CM1CON0 equ 0107h ;# "> +"3131 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3131: __asm("CM2CON0 equ 0108h"); +[; <" CM2CON0 equ 0108h ;# "> +"3196 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3196: __asm("CM2CON1 equ 0109h"); +[; <" CM2CON1 equ 0109h ;# "> +"3247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3247: __asm("EEDATA equ 010Ch"); +[; <" EEDATA equ 010Ch ;# "> +"3252 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3252: __asm("EEDAT equ 010Ch"); +[; <" EEDAT equ 010Ch ;# "> +"3259 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3259: __asm("EEADR equ 010Dh"); +[; <" EEADR equ 010Dh ;# "> +"3266 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3266: __asm("EEDATH equ 010Eh"); +[; <" EEDATH equ 010Eh ;# "> +"3273 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3273: __asm("EEADRH equ 010Fh"); +[; <" EEADRH equ 010Fh ;# "> +"3280 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3280: __asm("SRCON equ 0185h"); +[; <" SRCON equ 0185h ;# "> +"3337 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3337: __asm("BAUDCTL equ 0187h"); +[; <" BAUDCTL equ 0187h ;# "> +"3389 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3389: __asm("ANSEL equ 0188h"); +[; <" ANSEL equ 0188h ;# "> +"3451 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3451: __asm("ANSELH equ 0189h"); +[; <" ANSELH equ 0189h ;# "> +"3501 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3501: __asm("EECON1 equ 018Ch"); +[; <" EECON1 equ 018Ch ;# "> +"3546 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3546: __asm("EECON2 equ 018Dh"); +[; <" EECON2 equ 018Dh ;# "> +"9 src/../include/config.h +[p x FOSC = INTRC_NOCLKOUT ] +"10 +[p x WDTE = OFF ] +"11 +[p x PWRTE = ON ] +"12 +[p x MCLRE = OFF ] +"13 +[p x CP = OFF ] +"14 +[p x CPD = OFF ] +"15 +[p x BOREN = ON ] +"16 +[p x IESO = OFF ] +"17 +[p x FCMEN = OFF ] +"18 +[p x LVP = OFF ] +"19 +[p x BOR4V = BOR40V ] +"20 +[p x WRT = OFF ] +"7 src/rotary_encoder.c +[; ;src/rotary_encoder.c: 7: void parse_rotary(char pinA, char pinB, char* counter, char max, char min) { +[v _parse_rotary `(v ~T0 @X0 1 ef5`uc`uc`*uc`uc`uc ] +{ +[e :U _parse_rotary ] +[v _pinA `uc ~T0 @X0 1 r1 ] +[v _pinB `uc ~T0 @X0 1 r2 ] +[v _counter `*uc ~T0 @X0 1 r3 ] +[v _max `uc ~T0 @X0 1 r4 ] +[v _min `uc ~T0 @X0 1 r5 ] +[f ] +"9 +[; ;src/rotary_encoder.c: 9: static unsigned char prevState; +[v F1436 `uc ~T0 @X0 1 s prevState ] +"10 +[; ;src/rotary_encoder.c: 10: unsigned char state; +[v _state `uc ~T0 @X0 1 a ] +"13 +[; ;src/rotary_encoder.c: 13: _delay((unsigned long)((1)*(500000/4000.0))); +[e ( __delay (1 -> * -> -> 1 `i `d / -> -> 500000 `l `d .4000.0 `ul ] +"16 +[; ;src/rotary_encoder.c: 16: state = (unsigned char)(pinB << 1 | pinA); +[e = _state -> | << -> _pinB `i -> 1 `i -> _pinA `i `uc ] +"19 +[; ;src/rotary_encoder.c: 19: if (prevState == 0) { +[e $ ! == -> F1436 `i -> 0 `i 143 ] +{ +"20 +[; ;src/rotary_encoder.c: 20: if (state == ROTATE_LEFT) (*counter)--; +[e $ ! == -> _state `i -> . `E1420 0 `i 144 ] +[e -- *U _counter -> -> 1 `i `uc ] +[e $U 145 ] +"21 +[; ;src/rotary_encoder.c: 21: else if (state == ROTATE_RIGHT) (*counter)++; +[e :U 144 ] +[e $ ! == -> _state `i -> . `E1420 1 `i 146 ] +[e ++ *U _counter -> -> 1 `i `uc ] +[e :U 146 ] +[e :U 145 ] +"22 +[; ;src/rotary_encoder.c: 22: } +} +[e :U 143 ] +"25 +[; ;src/rotary_encoder.c: 25: if (*counter > max) *counter = min; +[e $ ! > -> *U _counter `i -> _max `i 147 ] +[e = *U _counter _min ] +[e $U 148 ] +"26 +[; ;src/rotary_encoder.c: 26: else if (*counter < min) *counter = max; +[e :U 147 ] +[e $ ! < -> *U _counter `i -> _min `i 149 ] +[e = *U _counter _max ] +[e :U 149 ] +[e :U 148 ] +"30 +[; ;src/rotary_encoder.c: 30: prevState = state; +[e = F1436 _state ] +"31 +[; ;src/rotary_encoder.c: 31: PORTB = PORTB; +[e = _PORTB _PORTB ] +"32 +[; ;src/rotary_encoder.c: 32: } +[e :UE 142 ] +} diff --git a/build/default/debug/src/rotary_encoder.p1.d b/build/default/debug/src/rotary_encoder.p1.d new file mode 100644 index 0000000..489f28a --- /dev/null +++ b/build/default/debug/src/rotary_encoder.p1.d @@ -0,0 +1,4 @@ +build/default/debug/src/rotary_encoder.p1: \ +src/rotary_encoder.c \ +src/../include/config.h \ +src/../include/rotary_encoder.h diff --git a/build/default/production/src/initialisation.d b/build/default/production/src/initialisation.d new file mode 100644 index 0000000..6ce7beb --- /dev/null +++ b/build/default/production/src/initialisation.d @@ -0,0 +1,2 @@ +build/default/production/src\initialisation.p1: src/initialisation.c \ + src/../include/config.h src/../include/initialisation.h diff --git a/build/default/production/src/initialisation.i b/build/default/production/src/initialisation.i new file mode 100644 index 0000000..965dd7e --- /dev/null +++ b/build/default/production/src/initialisation.i @@ -0,0 +1,2894 @@ +# 1 "src/initialisation.c" +# 1 "" 1 +# 1 "" 3 +# 288 "" 3 +# 1 "" 1 +# 1 "" 2 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\language_support.h" 1 3 +# 2 "" 2 +# 1 "src/initialisation.c" 2 + +# 1 "src/../include/config.h" 1 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 18 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 3 +extern const char __xc8_OPTIM_SPEED; + +extern double __fpnormalize(double); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\musl_xc8.h" 1 3 +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + + + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\features.h" 1 3 +# 11 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 +# 21 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 24 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int wchar_t; +# 128 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned size_t; +# 174 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __int24 int24_t; +# 210 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __uint24 uint24_t; +# 22 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + +int atoi (const char *); +long atol (const char *); + + + +double atof (const char *); + + +float strtof (const char *restrict, char **restrict); +double strtod (const char *restrict, char **restrict); +long double strtold (const char *restrict, char **restrict); + + + +long strtol (const char *restrict, char **restrict, int); +unsigned long strtoul (const char *restrict, char **restrict, int); + + + + + +unsigned long __strtoxl(const char * s, char ** endptr, int base, char is_signed); +# 55 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +int rand (void); +void srand (unsigned); + +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); + + void abort (void); +int atexit (void (*) (void)); + void exit (int); + void _Exit (int); + +void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); + + + + + + + +__attribute__((nonreentrant)) void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); + +int abs (int); +long labs (long); + + + + +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; + + + + +div_t div (int, int); +ldiv_t ldiv (long, long); + + + + +typedef struct { unsigned int quot, rem; } udiv_t; +typedef struct { unsigned long quot, rem; } uldiv_t; +udiv_t udiv (unsigned int, unsigned int); +uldiv_t uldiv (unsigned long, unsigned long); +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 2 3 + + + + + + + +#pragma intrinsic(__builtin_software_breakpoint) +extern void __builtin_software_breakpoint(void); +# 24 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 1 3 +# 26 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 133 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned short uintptr_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef short intptr_t; +# 164 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef signed char int8_t; + + + + +typedef short int16_t; +# 179 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int32_t; +# 192 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef int32_t intmax_t; + + + + + + + +typedef unsigned char uint8_t; + + + + +typedef unsigned short uint16_t; +# 215 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned long uint32_t; +# 233 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef uint32_t uintmax_t; +# 27 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 + +typedef int8_t int_fast8_t; + + + + +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; + +typedef int24_t int_least24_t; +typedef int24_t int_fast24_t; + +typedef int32_t int_least32_t; + + + + +typedef uint8_t uint_fast8_t; + + + + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; + +typedef uint24_t uint_least24_t; +typedef uint24_t uint_fast24_t; + +typedef uint32_t uint_least32_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/stdint.h" 1 3 +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +# 149 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 2 3 + + +#pragma intrinsic(__nop) +extern void __nop(void); + + +#pragma intrinsic(_delay) +extern __attribute__((nonreentrant)) void _delay(uint32_t); +#pragma intrinsic(_delaywdt) +extern __attribute__((nonreentrant)) void _delaywdt(uint32_t); +# 25 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 1 3 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 1 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 2 3 +# 6 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 + + + + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 1 3 +# 724 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 1 3 +# 44 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\__at.h" 1 3 +# 45 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 2 3 + + + + + + + +extern volatile unsigned char INDF __attribute__((address(0x000))); + +__asm("INDF equ 00h"); + + + + +extern volatile unsigned char TMR0 __attribute__((address(0x001))); + +__asm("TMR0 equ 01h"); + + + + +extern volatile unsigned char PCL __attribute__((address(0x002))); + +__asm("PCL equ 02h"); + + + + +extern volatile unsigned char STATUS __attribute__((address(0x003))); + +__asm("STATUS equ 03h"); + + +typedef union { + struct { + unsigned C :1; + unsigned DC :1; + unsigned Z :1; + unsigned nPD :1; + unsigned nTO :1; + unsigned RP :2; + unsigned IRP :1; + }; + struct { + unsigned :5; + unsigned RP0 :1; + unsigned RP1 :1; + }; + struct { + unsigned CARRY :1; + unsigned :1; + unsigned ZERO :1; + }; +} STATUSbits_t; +extern volatile STATUSbits_t STATUSbits __attribute__((address(0x003))); +# 159 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char FSR __attribute__((address(0x004))); + +__asm("FSR equ 04h"); + + + + +extern volatile unsigned char PORTA __attribute__((address(0x005))); + +__asm("PORTA equ 05h"); + + +typedef union { + struct { + unsigned RA0 :1; + unsigned RA1 :1; + unsigned RA2 :1; + unsigned RA3 :1; + unsigned RA4 :1; + unsigned RA5 :1; + unsigned RA6 :1; + unsigned RA7 :1; + }; +} PORTAbits_t; +extern volatile PORTAbits_t PORTAbits __attribute__((address(0x005))); +# 228 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTB __attribute__((address(0x006))); + +__asm("PORTB equ 06h"); + + +typedef union { + struct { + unsigned RB0 :1; + unsigned RB1 :1; + unsigned RB2 :1; + unsigned RB3 :1; + unsigned RB4 :1; + unsigned RB5 :1; + unsigned RB6 :1; + unsigned RB7 :1; + }; +} PORTBbits_t; +extern volatile PORTBbits_t PORTBbits __attribute__((address(0x006))); +# 290 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTC __attribute__((address(0x007))); + +__asm("PORTC equ 07h"); + + +typedef union { + struct { + unsigned RC0 :1; + unsigned RC1 :1; + unsigned RC2 :1; + unsigned RC3 :1; + unsigned RC4 :1; + unsigned RC5 :1; + unsigned RC6 :1; + unsigned RC7 :1; + }; +} PORTCbits_t; +extern volatile PORTCbits_t PORTCbits __attribute__((address(0x007))); +# 352 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTD __attribute__((address(0x008))); + +__asm("PORTD equ 08h"); + + +typedef union { + struct { + unsigned RD0 :1; + unsigned RD1 :1; + unsigned RD2 :1; + unsigned RD3 :1; + unsigned RD4 :1; + unsigned RD5 :1; + unsigned RD6 :1; + unsigned RD7 :1; + }; +} PORTDbits_t; +extern volatile PORTDbits_t PORTDbits __attribute__((address(0x008))); +# 414 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTE __attribute__((address(0x009))); + +__asm("PORTE equ 09h"); + + +typedef union { + struct { + unsigned RE0 :1; + unsigned RE1 :1; + unsigned RE2 :1; + unsigned RE3 :1; + }; +} PORTEbits_t; +extern volatile PORTEbits_t PORTEbits __attribute__((address(0x009))); +# 452 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCLATH __attribute__((address(0x00A))); + +__asm("PCLATH equ 0Ah"); + + + + +extern volatile unsigned char INTCON __attribute__((address(0x00B))); + +__asm("INTCON equ 0Bh"); + + +typedef union { + struct { + unsigned RBIF :1; + unsigned INTF :1; + unsigned T0IF :1; + unsigned RBIE :1; + unsigned INTE :1; + unsigned T0IE :1; + unsigned PEIE :1; + unsigned GIE :1; + }; + struct { + unsigned :2; + unsigned TMR0IF :1; + unsigned :2; + unsigned TMR0IE :1; + }; +} INTCONbits_t; +extern volatile INTCONbits_t INTCONbits __attribute__((address(0x00B))); +# 537 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR1 __attribute__((address(0x00C))); + +__asm("PIR1 equ 0Ch"); + + +typedef union { + struct { + unsigned TMR1IF :1; + unsigned TMR2IF :1; + unsigned CCP1IF :1; + unsigned SSPIF :1; + unsigned TXIF :1; + unsigned RCIF :1; + unsigned ADIF :1; + }; +} PIR1bits_t; +extern volatile PIR1bits_t PIR1bits __attribute__((address(0x00C))); +# 593 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR2 __attribute__((address(0x00D))); + +__asm("PIR2 equ 0Dh"); + + +typedef union { + struct { + unsigned CCP2IF :1; + unsigned :1; + unsigned ULPWUIF :1; + unsigned BCLIF :1; + unsigned EEIF :1; + unsigned C1IF :1; + unsigned C2IF :1; + unsigned OSFIF :1; + }; +} PIR2bits_t; +extern volatile PIR2bits_t PIR2bits __attribute__((address(0x00D))); +# 650 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short TMR1 __attribute__((address(0x00E))); + +__asm("TMR1 equ 0Eh"); + + + + +extern volatile unsigned char TMR1L __attribute__((address(0x00E))); + +__asm("TMR1L equ 0Eh"); + + + + +extern volatile unsigned char TMR1H __attribute__((address(0x00F))); + +__asm("TMR1H equ 0Fh"); + + + + +extern volatile unsigned char T1CON __attribute__((address(0x010))); + +__asm("T1CON equ 010h"); + + +typedef union { + struct { + unsigned TMR1ON :1; + unsigned TMR1CS :1; + unsigned nT1SYNC :1; + unsigned T1OSCEN :1; + unsigned T1CKPS :2; + unsigned TMR1GE :1; + unsigned T1GINV :1; + }; + struct { + unsigned :2; + unsigned T1INSYNC :1; + unsigned :1; + unsigned T1CKPS0 :1; + unsigned T1CKPS1 :1; + unsigned :1; + unsigned T1GIV :1; + }; + struct { + unsigned :2; + unsigned T1SYNC :1; + }; +} T1CONbits_t; +extern volatile T1CONbits_t T1CONbits __attribute__((address(0x010))); +# 765 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TMR2 __attribute__((address(0x011))); + +__asm("TMR2 equ 011h"); + + + + +extern volatile unsigned char T2CON __attribute__((address(0x012))); + +__asm("T2CON equ 012h"); + + +typedef union { + struct { + unsigned T2CKPS :2; + unsigned TMR2ON :1; + unsigned TOUTPS :4; + }; + struct { + unsigned T2CKPS0 :1; + unsigned T2CKPS1 :1; + unsigned :1; + unsigned TOUTPS0 :1; + unsigned TOUTPS1 :1; + unsigned TOUTPS2 :1; + unsigned TOUTPS3 :1; + }; +} T2CONbits_t; +extern volatile T2CONbits_t T2CONbits __attribute__((address(0x012))); +# 843 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPBUF __attribute__((address(0x013))); + +__asm("SSPBUF equ 013h"); + + + + +extern volatile unsigned char SSPCON __attribute__((address(0x014))); + +__asm("SSPCON equ 014h"); + + +typedef union { + struct { + unsigned SSPM :4; + unsigned CKP :1; + unsigned SSPEN :1; + unsigned SSPOV :1; + unsigned WCOL :1; + }; + struct { + unsigned SSPM0 :1; + unsigned SSPM1 :1; + unsigned SSPM2 :1; + unsigned SSPM3 :1; + }; +} SSPCONbits_t; +extern volatile SSPCONbits_t SSPCONbits __attribute__((address(0x014))); +# 920 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short CCPR1 __attribute__((address(0x015))); + +__asm("CCPR1 equ 015h"); + + + + +extern volatile unsigned char CCPR1L __attribute__((address(0x015))); + +__asm("CCPR1L equ 015h"); + + + + +extern volatile unsigned char CCPR1H __attribute__((address(0x016))); + +__asm("CCPR1H equ 016h"); + + + + +extern volatile unsigned char CCP1CON __attribute__((address(0x017))); + +__asm("CCP1CON equ 017h"); + + +typedef union { + struct { + unsigned CCP1M :4; + unsigned DC1B :2; + unsigned P1M :2; + }; + struct { + unsigned CCP1M0 :1; + unsigned CCP1M1 :1; + unsigned CCP1M2 :1; + unsigned CCP1M3 :1; + unsigned DC1B0 :1; + unsigned DC1B1 :1; + unsigned P1M0 :1; + unsigned P1M1 :1; + }; + struct { + unsigned :4; + unsigned CCP1Y :1; + unsigned CCP1X :1; + }; +} CCP1CONbits_t; +extern volatile CCP1CONbits_t CCP1CONbits __attribute__((address(0x017))); +# 1038 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char RCSTA __attribute__((address(0x018))); + +__asm("RCSTA equ 018h"); + + +typedef union { + struct { + unsigned RX9D :1; + unsigned OERR :1; + unsigned FERR :1; + unsigned ADDEN :1; + unsigned CREN :1; + unsigned SREN :1; + unsigned RX9 :1; + unsigned SPEN :1; + }; + struct { + unsigned RCD8 :1; + unsigned :5; + unsigned RC9 :1; + }; + struct { + unsigned :6; + unsigned nRC8 :1; + }; + struct { + unsigned :6; + unsigned RC8_9 :1; + }; +} RCSTAbits_t; +extern volatile RCSTAbits_t RCSTAbits __attribute__((address(0x018))); +# 1133 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXREG __attribute__((address(0x019))); + +__asm("TXREG equ 019h"); + + + + +extern volatile unsigned char RCREG __attribute__((address(0x01A))); + +__asm("RCREG equ 01Ah"); + + + + +extern volatile unsigned short CCPR2 __attribute__((address(0x01B))); + +__asm("CCPR2 equ 01Bh"); + + + + +extern volatile unsigned char CCPR2L __attribute__((address(0x01B))); + +__asm("CCPR2L equ 01Bh"); + + + + +extern volatile unsigned char CCPR2H __attribute__((address(0x01C))); + +__asm("CCPR2H equ 01Ch"); + + + + +extern volatile unsigned char CCP2CON __attribute__((address(0x01D))); + +__asm("CCP2CON equ 01Dh"); + + +typedef union { + struct { + unsigned CCP2M :4; + unsigned DC2B0 :1; + unsigned DC2B1 :1; + }; + struct { + unsigned CCP2M0 :1; + unsigned CCP2M1 :1; + unsigned CCP2M2 :1; + unsigned CCP2M3 :1; + unsigned CCP2Y :1; + unsigned CCP2X :1; + }; +} CCP2CONbits_t; +extern volatile CCP2CONbits_t CCP2CONbits __attribute__((address(0x01D))); +# 1238 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESH __attribute__((address(0x01E))); + +__asm("ADRESH equ 01Eh"); + + + + +extern volatile unsigned char ADCON0 __attribute__((address(0x01F))); + +__asm("ADCON0 equ 01Fh"); + + +typedef union { + struct { + unsigned ADON :1; + unsigned GO_nDONE :1; + unsigned CHS :4; + unsigned ADCS :2; + }; + struct { + unsigned :1; + unsigned GO :1; + unsigned CHS0 :1; + unsigned CHS1 :1; + unsigned CHS2 :1; + unsigned CHS3 :1; + unsigned ADCS0 :1; + unsigned ADCS1 :1; + }; + struct { + unsigned :1; + unsigned nDONE :1; + }; + struct { + unsigned :1; + unsigned GO_DONE :1; + }; +} ADCON0bits_t; +extern volatile ADCON0bits_t ADCON0bits __attribute__((address(0x01F))); +# 1346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OPTION_REG __attribute__((address(0x081))); + +__asm("OPTION_REG equ 081h"); + + +typedef union { + struct { + unsigned PS :3; + unsigned PSA :1; + unsigned T0SE :1; + unsigned T0CS :1; + unsigned INTEDG :1; + unsigned nRBPU :1; + }; + struct { + unsigned PS0 :1; + unsigned PS1 :1; + unsigned PS2 :1; + }; +} OPTION_REGbits_t; +extern volatile OPTION_REGbits_t OPTION_REGbits __attribute__((address(0x081))); +# 1416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISA __attribute__((address(0x085))); + +__asm("TRISA equ 085h"); + + +typedef union { + struct { + unsigned TRISA0 :1; + unsigned TRISA1 :1; + unsigned TRISA2 :1; + unsigned TRISA3 :1; + unsigned TRISA4 :1; + unsigned TRISA5 :1; + unsigned TRISA6 :1; + unsigned TRISA7 :1; + }; +} TRISAbits_t; +extern volatile TRISAbits_t TRISAbits __attribute__((address(0x085))); +# 1478 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISB __attribute__((address(0x086))); + +__asm("TRISB equ 086h"); + + +typedef union { + struct { + unsigned TRISB0 :1; + unsigned TRISB1 :1; + unsigned TRISB2 :1; + unsigned TRISB3 :1; + unsigned TRISB4 :1; + unsigned TRISB5 :1; + unsigned TRISB6 :1; + unsigned TRISB7 :1; + }; +} TRISBbits_t; +extern volatile TRISBbits_t TRISBbits __attribute__((address(0x086))); +# 1540 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISC __attribute__((address(0x087))); + +__asm("TRISC equ 087h"); + + +typedef union { + struct { + unsigned TRISC0 :1; + unsigned TRISC1 :1; + unsigned TRISC2 :1; + unsigned TRISC3 :1; + unsigned TRISC4 :1; + unsigned TRISC5 :1; + unsigned TRISC6 :1; + unsigned TRISC7 :1; + }; +} TRISCbits_t; +extern volatile TRISCbits_t TRISCbits __attribute__((address(0x087))); +# 1602 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISD __attribute__((address(0x088))); + +__asm("TRISD equ 088h"); + + +typedef union { + struct { + unsigned TRISD0 :1; + unsigned TRISD1 :1; + unsigned TRISD2 :1; + unsigned TRISD3 :1; + unsigned TRISD4 :1; + unsigned TRISD5 :1; + unsigned TRISD6 :1; + unsigned TRISD7 :1; + }; +} TRISDbits_t; +extern volatile TRISDbits_t TRISDbits __attribute__((address(0x088))); +# 1664 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISE __attribute__((address(0x089))); + +__asm("TRISE equ 089h"); + + +typedef union { + struct { + unsigned TRISE0 :1; + unsigned TRISE1 :1; + unsigned TRISE2 :1; + unsigned TRISE3 :1; + }; +} TRISEbits_t; +extern volatile TRISEbits_t TRISEbits __attribute__((address(0x089))); +# 1702 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE1 __attribute__((address(0x08C))); + +__asm("PIE1 equ 08Ch"); + + +typedef union { + struct { + unsigned TMR1IE :1; + unsigned TMR2IE :1; + unsigned CCP1IE :1; + unsigned SSPIE :1; + unsigned TXIE :1; + unsigned RCIE :1; + unsigned ADIE :1; + }; +} PIE1bits_t; +extern volatile PIE1bits_t PIE1bits __attribute__((address(0x08C))); +# 1758 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE2 __attribute__((address(0x08D))); + +__asm("PIE2 equ 08Dh"); + + +typedef union { + struct { + unsigned CCP2IE :1; + unsigned :1; + unsigned ULPWUIE :1; + unsigned BCLIE :1; + unsigned EEIE :1; + unsigned C1IE :1; + unsigned C2IE :1; + unsigned OSFIE :1; + }; +} PIE2bits_t; +extern volatile PIE2bits_t PIE2bits __attribute__((address(0x08D))); +# 1815 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCON __attribute__((address(0x08E))); + +__asm("PCON equ 08Eh"); + + +typedef union { + struct { + unsigned nBOR :1; + unsigned nPOR :1; + unsigned :2; + unsigned SBOREN :1; + unsigned ULPWUE :1; + }; + struct { + unsigned nBO :1; + }; +} PCONbits_t; +extern volatile PCONbits_t PCONbits __attribute__((address(0x08E))); +# 1862 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCCON __attribute__((address(0x08F))); + +__asm("OSCCON equ 08Fh"); + + +typedef union { + struct { + unsigned SCS :1; + unsigned LTS :1; + unsigned HTS :1; + unsigned OSTS :1; + unsigned IRCF :3; + }; + struct { + unsigned :4; + unsigned IRCF0 :1; + unsigned IRCF1 :1; + unsigned IRCF2 :1; + }; +} OSCCONbits_t; +extern volatile OSCCONbits_t OSCCONbits __attribute__((address(0x08F))); +# 1927 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCTUNE __attribute__((address(0x090))); + +__asm("OSCTUNE equ 090h"); + + +typedef union { + struct { + unsigned TUN :5; + }; + struct { + unsigned TUN0 :1; + unsigned TUN1 :1; + unsigned TUN2 :1; + unsigned TUN3 :1; + unsigned TUN4 :1; + }; +} OSCTUNEbits_t; +extern volatile OSCTUNEbits_t OSCTUNEbits __attribute__((address(0x090))); +# 1979 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPCON2 __attribute__((address(0x091))); + +__asm("SSPCON2 equ 091h"); + + +typedef union { + struct { + unsigned SEN :1; + unsigned RSEN :1; + unsigned PEN :1; + unsigned RCEN :1; + unsigned ACKEN :1; + unsigned ACKDT :1; + unsigned ACKSTAT :1; + unsigned GCEN :1; + }; +} SSPCON2bits_t; +extern volatile SSPCON2bits_t SSPCON2bits __attribute__((address(0x091))); +# 2041 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PR2 __attribute__((address(0x092))); + +__asm("PR2 equ 092h"); + + + + +extern volatile unsigned char SSPADD __attribute__((address(0x093))); + +__asm("SSPADD equ 093h"); + + + + +extern volatile unsigned char SSPMSK __attribute__((address(0x093))); + +__asm("SSPMSK equ 093h"); + + +extern volatile unsigned char MSK __attribute__((address(0x093))); + +__asm("MSK equ 093h"); + + +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} SSPMSKbits_t; +extern volatile SSPMSKbits_t SSPMSKbits __attribute__((address(0x093))); +# 2120 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} MSKbits_t; +extern volatile MSKbits_t MSKbits __attribute__((address(0x093))); +# 2177 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPSTAT __attribute__((address(0x094))); + +__asm("SSPSTAT equ 094h"); + + +typedef union { + struct { + unsigned BF :1; + unsigned UA :1; + unsigned R_nW :1; + unsigned S :1; + unsigned P :1; + unsigned D_nA :1; + unsigned CKE :1; + unsigned SMP :1; + }; + struct { + unsigned :2; + unsigned R :1; + unsigned :2; + unsigned D :1; + }; + struct { + unsigned :2; + unsigned I2C_READ :1; + unsigned I2C_START :1; + unsigned I2C_STOP :1; + unsigned I2C_DATA :1; + }; + struct { + unsigned :2; + unsigned nW :1; + unsigned :2; + unsigned nA :1; + }; + struct { + unsigned :2; + unsigned nWRITE :1; + unsigned :2; + unsigned nADDRESS :1; + }; + struct { + unsigned :2; + unsigned R_W :1; + unsigned :2; + unsigned D_A :1; + }; + struct { + unsigned :2; + unsigned READ_WRITE :1; + unsigned :2; + unsigned DATA_ADDRESS :1; + }; +} SSPSTATbits_t; +extern volatile SSPSTATbits_t SSPSTATbits __attribute__((address(0x094))); +# 2346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WPUB __attribute__((address(0x095))); + +__asm("WPUB equ 095h"); + + +typedef union { + struct { + unsigned WPUB :8; + }; + struct { + unsigned WPUB0 :1; + unsigned WPUB1 :1; + unsigned WPUB2 :1; + unsigned WPUB3 :1; + unsigned WPUB4 :1; + unsigned WPUB5 :1; + unsigned WPUB6 :1; + unsigned WPUB7 :1; + }; +} WPUBbits_t; +extern volatile WPUBbits_t WPUBbits __attribute__((address(0x095))); +# 2416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char IOCB __attribute__((address(0x096))); + +__asm("IOCB equ 096h"); + + +typedef union { + struct { + unsigned IOCB :8; + }; + struct { + unsigned IOCB0 :1; + unsigned IOCB1 :1; + unsigned IOCB2 :1; + unsigned IOCB3 :1; + unsigned IOCB4 :1; + unsigned IOCB5 :1; + unsigned IOCB6 :1; + unsigned IOCB7 :1; + }; +} IOCBbits_t; +extern volatile IOCBbits_t IOCBbits __attribute__((address(0x096))); +# 2486 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char VRCON __attribute__((address(0x097))); + +__asm("VRCON equ 097h"); + + +typedef union { + struct { + unsigned VR :4; + unsigned VRSS :1; + unsigned VRR :1; + unsigned VROE :1; + unsigned VREN :1; + }; + struct { + unsigned VR0 :1; + unsigned VR1 :1; + unsigned VR2 :1; + unsigned VR3 :1; + }; +} VRCONbits_t; +extern volatile VRCONbits_t VRCONbits __attribute__((address(0x097))); +# 2556 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXSTA __attribute__((address(0x098))); + +__asm("TXSTA equ 098h"); + + +typedef union { + struct { + unsigned TX9D :1; + unsigned TRMT :1; + unsigned BRGH :1; + unsigned SENDB :1; + unsigned SYNC :1; + unsigned TXEN :1; + unsigned TX9 :1; + unsigned CSRC :1; + }; + struct { + unsigned TXD8 :1; + unsigned :5; + unsigned nTX8 :1; + }; + struct { + unsigned :6; + unsigned TX8_9 :1; + }; +} TXSTAbits_t; +extern volatile TXSTAbits_t TXSTAbits __attribute__((address(0x098))); +# 2642 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRG __attribute__((address(0x099))); + +__asm("SPBRG equ 099h"); + + +typedef union { + struct { + unsigned BRG0 :1; + unsigned BRG1 :1; + unsigned BRG2 :1; + unsigned BRG3 :1; + unsigned BRG4 :1; + unsigned BRG5 :1; + unsigned BRG6 :1; + unsigned BRG7 :1; + }; +} SPBRGbits_t; +extern volatile SPBRGbits_t SPBRGbits __attribute__((address(0x099))); +# 2704 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRGH __attribute__((address(0x09A))); + +__asm("SPBRGH equ 09Ah"); + + +typedef union { + struct { + unsigned SPBRGH :8; + }; + struct { + unsigned BRG8 :1; + unsigned BRG9 :1; + unsigned BRG10 :1; + unsigned BRG11 :1; + unsigned BRG12 :1; + unsigned BRG13 :1; + unsigned BRG14 :1; + unsigned BRG15 :1; + }; +} SPBRGHbits_t; +extern volatile SPBRGHbits_t SPBRGHbits __attribute__((address(0x09A))); +# 2774 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PWM1CON __attribute__((address(0x09B))); + +__asm("PWM1CON equ 09Bh"); + + +typedef union { + struct { + unsigned PDC :7; + unsigned PRSEN :1; + }; + struct { + unsigned PDC0 :1; + unsigned PDC1 :1; + unsigned PDC2 :1; + unsigned PDC3 :1; + unsigned PDC4 :1; + unsigned PDC5 :1; + unsigned PDC6 :1; + }; +} PWM1CONbits_t; +extern volatile PWM1CONbits_t PWM1CONbits __attribute__((address(0x09B))); +# 2844 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ECCPAS __attribute__((address(0x09C))); + +__asm("ECCPAS equ 09Ch"); + + +typedef union { + struct { + unsigned PSSBD :2; + unsigned PSSAC :2; + unsigned ECCPAS :3; + unsigned ECCPASE :1; + }; + struct { + unsigned PSSBD0 :1; + unsigned PSSBD1 :1; + unsigned PSSAC0 :1; + unsigned PSSAC1 :1; + unsigned ECCPAS0 :1; + unsigned ECCPAS1 :1; + unsigned ECCPAS2 :1; + }; +} ECCPASbits_t; +extern volatile ECCPASbits_t ECCPASbits __attribute__((address(0x09C))); +# 2926 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PSTRCON __attribute__((address(0x09D))); + +__asm("PSTRCON equ 09Dh"); + + +typedef union { + struct { + unsigned STRA :1; + unsigned STRB :1; + unsigned STRC :1; + unsigned STRD :1; + unsigned STRSYNC :1; + }; +} PSTRCONbits_t; +extern volatile PSTRCONbits_t PSTRCONbits __attribute__((address(0x09D))); +# 2970 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESL __attribute__((address(0x09E))); + +__asm("ADRESL equ 09Eh"); + + + + +extern volatile unsigned char ADCON1 __attribute__((address(0x09F))); + +__asm("ADCON1 equ 09Fh"); + + +typedef union { + struct { + unsigned :4; + unsigned VCFG0 :1; + unsigned VCFG1 :1; + unsigned :1; + unsigned ADFM :1; + }; +} ADCON1bits_t; +extern volatile ADCON1bits_t ADCON1bits __attribute__((address(0x09F))); +# 3011 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WDTCON __attribute__((address(0x105))); + +__asm("WDTCON equ 0105h"); + + +typedef union { + struct { + unsigned SWDTEN :1; + unsigned WDTPS :4; + }; + struct { + unsigned :1; + unsigned WDTPS0 :1; + unsigned WDTPS1 :1; + unsigned WDTPS2 :1; + unsigned WDTPS3 :1; + }; +} WDTCONbits_t; +extern volatile WDTCONbits_t WDTCONbits __attribute__((address(0x105))); +# 3064 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM1CON0 __attribute__((address(0x107))); + +__asm("CM1CON0 equ 0107h"); + + +typedef union { + struct { + unsigned C1CH :2; + unsigned C1R :1; + unsigned :1; + unsigned C1POL :1; + unsigned C1OE :1; + unsigned C1OUT :1; + unsigned C1ON :1; + }; + struct { + unsigned C1CH0 :1; + unsigned C1CH1 :1; + }; +} CM1CON0bits_t; +extern volatile CM1CON0bits_t CM1CON0bits __attribute__((address(0x107))); +# 3129 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON0 __attribute__((address(0x108))); + +__asm("CM2CON0 equ 0108h"); + + +typedef union { + struct { + unsigned C2CH :2; + unsigned C2R :1; + unsigned :1; + unsigned C2POL :1; + unsigned C2OE :1; + unsigned C2OUT :1; + unsigned C2ON :1; + }; + struct { + unsigned C2CH0 :1; + unsigned C2CH1 :1; + }; +} CM2CON0bits_t; +extern volatile CM2CON0bits_t CM2CON0bits __attribute__((address(0x108))); +# 3194 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON1 __attribute__((address(0x109))); + +__asm("CM2CON1 equ 0109h"); + + +typedef union { + struct { + unsigned C2SYNC :1; + unsigned T1GSS :1; + unsigned :2; + unsigned C2RSEL :1; + unsigned C1RSEL :1; + unsigned MC2OUT :1; + unsigned MC1OUT :1; + }; +} CM2CON1bits_t; +extern volatile CM2CON1bits_t CM2CON1bits __attribute__((address(0x109))); +# 3245 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EEDATA __attribute__((address(0x10C))); + +__asm("EEDATA equ 010Ch"); + + +extern volatile unsigned char EEDAT __attribute__((address(0x10C))); + +__asm("EEDAT equ 010Ch"); + + + + +extern volatile unsigned char EEADR __attribute__((address(0x10D))); + +__asm("EEADR equ 010Dh"); + + + + +extern volatile unsigned char EEDATH __attribute__((address(0x10E))); + +__asm("EEDATH equ 010Eh"); + + + + +extern volatile unsigned char EEADRH __attribute__((address(0x10F))); + +__asm("EEADRH equ 010Fh"); + + + + +extern volatile unsigned char SRCON __attribute__((address(0x185))); + +__asm("SRCON equ 0185h"); + + +typedef union { + struct { + unsigned FVREN :1; + unsigned :1; + unsigned PULSR :1; + unsigned PULSS :1; + unsigned C2REN :1; + unsigned C1SEN :1; + unsigned SR0 :1; + unsigned SR1 :1; + }; +} SRCONbits_t; +extern volatile SRCONbits_t SRCONbits __attribute__((address(0x185))); +# 3335 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char BAUDCTL __attribute__((address(0x187))); + +__asm("BAUDCTL equ 0187h"); + + +typedef union { + struct { + unsigned ABDEN :1; + unsigned WUE :1; + unsigned :1; + unsigned BRG16 :1; + unsigned SCKP :1; + unsigned :1; + unsigned RCIDL :1; + unsigned ABDOVF :1; + }; +} BAUDCTLbits_t; +extern volatile BAUDCTLbits_t BAUDCTLbits __attribute__((address(0x187))); +# 3387 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSEL __attribute__((address(0x188))); + +__asm("ANSEL equ 0188h"); + + +typedef union { + struct { + unsigned ANS0 :1; + unsigned ANS1 :1; + unsigned ANS2 :1; + unsigned ANS3 :1; + unsigned ANS4 :1; + unsigned ANS5 :1; + unsigned ANS6 :1; + unsigned ANS7 :1; + }; +} ANSELbits_t; +extern volatile ANSELbits_t ANSELbits __attribute__((address(0x188))); +# 3449 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSELH __attribute__((address(0x189))); + +__asm("ANSELH equ 0189h"); + + +typedef union { + struct { + unsigned ANS8 :1; + unsigned ANS9 :1; + unsigned ANS10 :1; + unsigned ANS11 :1; + unsigned ANS12 :1; + unsigned ANS13 :1; + }; +} ANSELHbits_t; +extern volatile ANSELHbits_t ANSELHbits __attribute__((address(0x189))); +# 3499 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON1 __attribute__((address(0x18C))); + +__asm("EECON1 equ 018Ch"); + + +typedef union { + struct { + unsigned RD :1; + unsigned WR :1; + unsigned WREN :1; + unsigned WRERR :1; + unsigned :3; + unsigned EEPGD :1; + }; +} EECON1bits_t; +extern volatile EECON1bits_t EECON1bits __attribute__((address(0x18C))); +# 3544 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON2 __attribute__((address(0x18D))); + +__asm("EECON2 equ 018Dh"); +# 3561 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile __bit ABDEN __attribute__((address(0xC38))); + + +extern volatile __bit ABDOVF __attribute__((address(0xC3F))); + + +extern volatile __bit ACKDT __attribute__((address(0x48D))); + + +extern volatile __bit ACKEN __attribute__((address(0x48C))); + + +extern volatile __bit ACKSTAT __attribute__((address(0x48E))); + + +extern volatile __bit ADCS0 __attribute__((address(0xFE))); + + +extern volatile __bit ADCS1 __attribute__((address(0xFF))); + + +extern volatile __bit ADDEN __attribute__((address(0xC3))); + + +extern volatile __bit ADFM __attribute__((address(0x4FF))); + + +extern volatile __bit ADIE __attribute__((address(0x466))); + + +extern volatile __bit ADIF __attribute__((address(0x66))); + + +extern volatile __bit ADON __attribute__((address(0xF8))); + + +extern volatile __bit ANS0 __attribute__((address(0xC40))); + + +extern volatile __bit ANS1 __attribute__((address(0xC41))); + + +extern volatile __bit ANS10 __attribute__((address(0xC4A))); + + +extern volatile __bit ANS11 __attribute__((address(0xC4B))); + + +extern volatile __bit ANS12 __attribute__((address(0xC4C))); + + +extern volatile __bit ANS13 __attribute__((address(0xC4D))); + + +extern volatile __bit ANS2 __attribute__((address(0xC42))); + + +extern volatile __bit ANS3 __attribute__((address(0xC43))); + + +extern volatile __bit ANS4 __attribute__((address(0xC44))); + + +extern volatile __bit ANS5 __attribute__((address(0xC45))); + + +extern volatile __bit ANS6 __attribute__((address(0xC46))); + + +extern volatile __bit ANS7 __attribute__((address(0xC47))); + + +extern volatile __bit ANS8 __attribute__((address(0xC48))); + + +extern volatile __bit ANS9 __attribute__((address(0xC49))); + + +extern volatile __bit BCLIE __attribute__((address(0x46B))); + + +extern volatile __bit BCLIF __attribute__((address(0x6B))); + + +extern volatile __bit BF __attribute__((address(0x4A0))); + + +extern volatile __bit BRG0 __attribute__((address(0x4C8))); + + +extern volatile __bit BRG1 __attribute__((address(0x4C9))); + + +extern volatile __bit BRG10 __attribute__((address(0x4D2))); + + +extern volatile __bit BRG11 __attribute__((address(0x4D3))); + + +extern volatile __bit BRG12 __attribute__((address(0x4D4))); + + +extern volatile __bit BRG13 __attribute__((address(0x4D5))); + + +extern volatile __bit BRG14 __attribute__((address(0x4D6))); + + +extern volatile __bit BRG15 __attribute__((address(0x4D7))); + + +extern volatile __bit BRG16 __attribute__((address(0xC3B))); + + +extern volatile __bit BRG2 __attribute__((address(0x4CA))); + + +extern volatile __bit BRG3 __attribute__((address(0x4CB))); + + +extern volatile __bit BRG4 __attribute__((address(0x4CC))); + + +extern volatile __bit BRG5 __attribute__((address(0x4CD))); + + +extern volatile __bit BRG6 __attribute__((address(0x4CE))); + + +extern volatile __bit BRG7 __attribute__((address(0x4CF))); + + +extern volatile __bit BRG8 __attribute__((address(0x4D0))); + + +extern volatile __bit BRG9 __attribute__((address(0x4D1))); + + +extern volatile __bit BRGH __attribute__((address(0x4C2))); + + +extern volatile __bit C1CH0 __attribute__((address(0x838))); + + +extern volatile __bit C1CH1 __attribute__((address(0x839))); + + +extern volatile __bit C1IE __attribute__((address(0x46D))); + + +extern volatile __bit C1IF __attribute__((address(0x6D))); + + +extern volatile __bit C1OE __attribute__((address(0x83D))); + + +extern volatile __bit C1ON __attribute__((address(0x83F))); + + +extern volatile __bit C1OUT __attribute__((address(0x83E))); + + +extern volatile __bit C1POL __attribute__((address(0x83C))); + + +extern volatile __bit C1R __attribute__((address(0x83A))); + + +extern volatile __bit C1RSEL __attribute__((address(0x84D))); + + +extern volatile __bit C1SEN __attribute__((address(0xC2D))); + + +extern volatile __bit C2CH0 __attribute__((address(0x840))); + + +extern volatile __bit C2CH1 __attribute__((address(0x841))); + + +extern volatile __bit C2IE __attribute__((address(0x46E))); + + +extern volatile __bit C2IF __attribute__((address(0x6E))); + + +extern volatile __bit C2OE __attribute__((address(0x845))); + + +extern volatile __bit C2ON __attribute__((address(0x847))); + + +extern volatile __bit C2OUT __attribute__((address(0x846))); + + +extern volatile __bit C2POL __attribute__((address(0x844))); + + +extern volatile __bit C2R __attribute__((address(0x842))); + + +extern volatile __bit C2REN __attribute__((address(0xC2C))); + + +extern volatile __bit C2RSEL __attribute__((address(0x84C))); + + +extern volatile __bit C2SYNC __attribute__((address(0x848))); + + +extern volatile __bit CARRY __attribute__((address(0x18))); + + +extern volatile __bit CCP1IE __attribute__((address(0x462))); + + +extern volatile __bit CCP1IF __attribute__((address(0x62))); + + +extern volatile __bit CCP1M0 __attribute__((address(0xB8))); + + +extern volatile __bit CCP1M1 __attribute__((address(0xB9))); + + +extern volatile __bit CCP1M2 __attribute__((address(0xBA))); + + +extern volatile __bit CCP1M3 __attribute__((address(0xBB))); + + +extern volatile __bit CCP1X __attribute__((address(0xBD))); + + +extern volatile __bit CCP1Y __attribute__((address(0xBC))); + + +extern volatile __bit CCP2IE __attribute__((address(0x468))); + + +extern volatile __bit CCP2IF __attribute__((address(0x68))); + + +extern volatile __bit CCP2M0 __attribute__((address(0xE8))); + + +extern volatile __bit CCP2M1 __attribute__((address(0xE9))); + + +extern volatile __bit CCP2M2 __attribute__((address(0xEA))); + + +extern volatile __bit CCP2M3 __attribute__((address(0xEB))); + + +extern volatile __bit CCP2X __attribute__((address(0xED))); + + +extern volatile __bit CCP2Y __attribute__((address(0xEC))); + + +extern volatile __bit CHS0 __attribute__((address(0xFA))); + + +extern volatile __bit CHS1 __attribute__((address(0xFB))); + + +extern volatile __bit CHS2 __attribute__((address(0xFC))); + + +extern volatile __bit CHS3 __attribute__((address(0xFD))); + + +extern volatile __bit CKE __attribute__((address(0x4A6))); + + +extern volatile __bit CKP __attribute__((address(0xA4))); + + +extern volatile __bit CREN __attribute__((address(0xC4))); + + +extern volatile __bit CSRC __attribute__((address(0x4C7))); + + +extern volatile __bit DATA_ADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit DC __attribute__((address(0x19))); + + +extern volatile __bit DC1B0 __attribute__((address(0xBC))); + + +extern volatile __bit DC1B1 __attribute__((address(0xBD))); + + +extern volatile __bit DC2B0 __attribute__((address(0xEC))); + + +extern volatile __bit DC2B1 __attribute__((address(0xED))); + + +extern volatile __bit D_A __attribute__((address(0x4A5))); + + +extern volatile __bit D_nA __attribute__((address(0x4A5))); + + +extern volatile __bit ECCPAS0 __attribute__((address(0x4E4))); + + +extern volatile __bit ECCPAS1 __attribute__((address(0x4E5))); + + +extern volatile __bit ECCPAS2 __attribute__((address(0x4E6))); + + +extern volatile __bit ECCPASE __attribute__((address(0x4E7))); + + +extern volatile __bit EEIE __attribute__((address(0x46C))); + + +extern volatile __bit EEIF __attribute__((address(0x6C))); + + +extern volatile __bit EEPGD __attribute__((address(0xC67))); + + +extern volatile __bit FERR __attribute__((address(0xC2))); + + +extern volatile __bit FVREN __attribute__((address(0xC28))); + + +extern volatile __bit GCEN __attribute__((address(0x48F))); + + +extern volatile __bit GIE __attribute__((address(0x5F))); + + +extern volatile __bit GO __attribute__((address(0xF9))); + + +extern volatile __bit GO_DONE __attribute__((address(0xF9))); + + +extern volatile __bit GO_nDONE __attribute__((address(0xF9))); + + +extern volatile __bit HTS __attribute__((address(0x47A))); + + +extern volatile __bit I2C_DATA __attribute__((address(0x4A5))); + + +extern volatile __bit I2C_READ __attribute__((address(0x4A2))); + + +extern volatile __bit I2C_START __attribute__((address(0x4A3))); + + +extern volatile __bit I2C_STOP __attribute__((address(0x4A4))); + + +extern volatile __bit INTE __attribute__((address(0x5C))); + + +extern volatile __bit INTEDG __attribute__((address(0x40E))); + + +extern volatile __bit INTF __attribute__((address(0x59))); + + +extern volatile __bit IOCB0 __attribute__((address(0x4B0))); + + +extern volatile __bit IOCB1 __attribute__((address(0x4B1))); + + +extern volatile __bit IOCB2 __attribute__((address(0x4B2))); + + +extern volatile __bit IOCB3 __attribute__((address(0x4B3))); + + +extern volatile __bit IOCB4 __attribute__((address(0x4B4))); + + +extern volatile __bit IOCB5 __attribute__((address(0x4B5))); + + +extern volatile __bit IOCB6 __attribute__((address(0x4B6))); + + +extern volatile __bit IOCB7 __attribute__((address(0x4B7))); + + +extern volatile __bit IRCF0 __attribute__((address(0x47C))); + + +extern volatile __bit IRCF1 __attribute__((address(0x47D))); + + +extern volatile __bit IRCF2 __attribute__((address(0x47E))); + + +extern volatile __bit IRP __attribute__((address(0x1F))); + + +extern volatile __bit LTS __attribute__((address(0x479))); + + +extern volatile __bit MC1OUT __attribute__((address(0x84F))); + + +extern volatile __bit MC2OUT __attribute__((address(0x84E))); + + +extern volatile __bit MSK0 __attribute__((address(0x498))); + + +extern volatile __bit MSK1 __attribute__((address(0x499))); + + +extern volatile __bit MSK2 __attribute__((address(0x49A))); + + +extern volatile __bit MSK3 __attribute__((address(0x49B))); + + +extern volatile __bit MSK4 __attribute__((address(0x49C))); + + +extern volatile __bit MSK5 __attribute__((address(0x49D))); + + +extern volatile __bit MSK6 __attribute__((address(0x49E))); + + +extern volatile __bit MSK7 __attribute__((address(0x49F))); + + +extern volatile __bit OERR __attribute__((address(0xC1))); + + +extern volatile __bit OSFIE __attribute__((address(0x46F))); + + +extern volatile __bit OSFIF __attribute__((address(0x6F))); + + +extern volatile __bit OSTS __attribute__((address(0x47B))); + + +extern volatile __bit P1M0 __attribute__((address(0xBE))); + + +extern volatile __bit P1M1 __attribute__((address(0xBF))); + + +extern volatile __bit PDC0 __attribute__((address(0x4D8))); + + +extern volatile __bit PDC1 __attribute__((address(0x4D9))); + + +extern volatile __bit PDC2 __attribute__((address(0x4DA))); + + +extern volatile __bit PDC3 __attribute__((address(0x4DB))); + + +extern volatile __bit PDC4 __attribute__((address(0x4DC))); + + +extern volatile __bit PDC5 __attribute__((address(0x4DD))); + + +extern volatile __bit PDC6 __attribute__((address(0x4DE))); + + +extern volatile __bit PEIE __attribute__((address(0x5E))); + + +extern volatile __bit PEN __attribute__((address(0x48A))); + + +extern volatile __bit PRSEN __attribute__((address(0x4DF))); + + +extern volatile __bit PS0 __attribute__((address(0x408))); + + +extern volatile __bit PS1 __attribute__((address(0x409))); + + +extern volatile __bit PS2 __attribute__((address(0x40A))); + + +extern volatile __bit PSA __attribute__((address(0x40B))); + + +extern volatile __bit PSSAC0 __attribute__((address(0x4E2))); + + +extern volatile __bit PSSAC1 __attribute__((address(0x4E3))); + + +extern volatile __bit PSSBD0 __attribute__((address(0x4E0))); + + +extern volatile __bit PSSBD1 __attribute__((address(0x4E1))); + + +extern volatile __bit PULSR __attribute__((address(0xC2A))); + + +extern volatile __bit PULSS __attribute__((address(0xC2B))); + + +extern volatile __bit RA0 __attribute__((address(0x28))); + + +extern volatile __bit RA1 __attribute__((address(0x29))); + + +extern volatile __bit RA2 __attribute__((address(0x2A))); + + +extern volatile __bit RA3 __attribute__((address(0x2B))); + + +extern volatile __bit RA4 __attribute__((address(0x2C))); + + +extern volatile __bit RA5 __attribute__((address(0x2D))); + + +extern volatile __bit RA6 __attribute__((address(0x2E))); + + +extern volatile __bit RA7 __attribute__((address(0x2F))); + + +extern volatile __bit RB0 __attribute__((address(0x30))); + + +extern volatile __bit RB1 __attribute__((address(0x31))); + + +extern volatile __bit RB2 __attribute__((address(0x32))); + + +extern volatile __bit RB3 __attribute__((address(0x33))); + + +extern volatile __bit RB4 __attribute__((address(0x34))); + + +extern volatile __bit RB5 __attribute__((address(0x35))); + + +extern volatile __bit RB6 __attribute__((address(0x36))); + + +extern volatile __bit RB7 __attribute__((address(0x37))); + + +extern volatile __bit RBIE __attribute__((address(0x5B))); + + +extern volatile __bit RBIF __attribute__((address(0x58))); + + +extern volatile __bit RC0 __attribute__((address(0x38))); + + +extern volatile __bit RC1 __attribute__((address(0x39))); + + +extern volatile __bit RC2 __attribute__((address(0x3A))); + + +extern volatile __bit RC3 __attribute__((address(0x3B))); + + +extern volatile __bit RC4 __attribute__((address(0x3C))); + + +extern volatile __bit RC5 __attribute__((address(0x3D))); + + +extern volatile __bit RC6 __attribute__((address(0x3E))); + + +extern volatile __bit RC7 __attribute__((address(0x3F))); + + +extern volatile __bit RC8_9 __attribute__((address(0xC6))); + + +extern volatile __bit RC9 __attribute__((address(0xC6))); + + +extern volatile __bit RCD8 __attribute__((address(0xC0))); + + +extern volatile __bit RCEN __attribute__((address(0x48B))); + + +extern volatile __bit RCIDL __attribute__((address(0xC3E))); + + +extern volatile __bit RCIE __attribute__((address(0x465))); + + +extern volatile __bit RCIF __attribute__((address(0x65))); + + +extern volatile __bit RD __attribute__((address(0xC60))); + + +extern volatile __bit RD0 __attribute__((address(0x40))); + + +extern volatile __bit RD1 __attribute__((address(0x41))); + + +extern volatile __bit RD2 __attribute__((address(0x42))); + + +extern volatile __bit RD3 __attribute__((address(0x43))); + + +extern volatile __bit RD4 __attribute__((address(0x44))); + + +extern volatile __bit RD5 __attribute__((address(0x45))); + + +extern volatile __bit RD6 __attribute__((address(0x46))); + + +extern volatile __bit RD7 __attribute__((address(0x47))); + + +extern volatile __bit RE0 __attribute__((address(0x48))); + + +extern volatile __bit RE1 __attribute__((address(0x49))); + + +extern volatile __bit RE2 __attribute__((address(0x4A))); + + +extern volatile __bit RE3 __attribute__((address(0x4B))); + + +extern volatile __bit READ_WRITE __attribute__((address(0x4A2))); + + +extern volatile __bit RP0 __attribute__((address(0x1D))); + + +extern volatile __bit RP1 __attribute__((address(0x1E))); + + +extern volatile __bit RSEN __attribute__((address(0x489))); + + +extern volatile __bit RX9 __attribute__((address(0xC6))); + + +extern volatile __bit RX9D __attribute__((address(0xC0))); + + +extern volatile __bit R_W __attribute__((address(0x4A2))); + + +extern volatile __bit R_nW __attribute__((address(0x4A2))); + + +extern volatile __bit SBOREN __attribute__((address(0x474))); + + +extern volatile __bit SCKP __attribute__((address(0xC3C))); + + +extern volatile __bit SCS __attribute__((address(0x478))); + + +extern volatile __bit SEN __attribute__((address(0x488))); + + +extern volatile __bit SENDB __attribute__((address(0x4C3))); + + +extern volatile __bit SMP __attribute__((address(0x4A7))); + + +extern volatile __bit SPEN __attribute__((address(0xC7))); + + +extern volatile __bit SR0 __attribute__((address(0xC2E))); + + +extern volatile __bit SR1 __attribute__((address(0xC2F))); + + +extern volatile __bit SREN __attribute__((address(0xC5))); + + +extern volatile __bit SSPEN __attribute__((address(0xA5))); + + +extern volatile __bit SSPIE __attribute__((address(0x463))); + + +extern volatile __bit SSPIF __attribute__((address(0x63))); + + +extern volatile __bit SSPM0 __attribute__((address(0xA0))); + + +extern volatile __bit SSPM1 __attribute__((address(0xA1))); + + +extern volatile __bit SSPM2 __attribute__((address(0xA2))); + + +extern volatile __bit SSPM3 __attribute__((address(0xA3))); + + +extern volatile __bit SSPOV __attribute__((address(0xA6))); + + +extern volatile __bit STRA __attribute__((address(0x4E8))); + + +extern volatile __bit STRB __attribute__((address(0x4E9))); + + +extern volatile __bit STRC __attribute__((address(0x4EA))); + + +extern volatile __bit STRD __attribute__((address(0x4EB))); + + +extern volatile __bit STRSYNC __attribute__((address(0x4EC))); + + +extern volatile __bit SWDTEN __attribute__((address(0x828))); + + +extern volatile __bit SYNC __attribute__((address(0x4C4))); + + +extern volatile __bit T0CS __attribute__((address(0x40D))); + + +extern volatile __bit T0IE __attribute__((address(0x5D))); + + +extern volatile __bit T0IF __attribute__((address(0x5A))); + + +extern volatile __bit T0SE __attribute__((address(0x40C))); + + +extern volatile __bit T1CKPS0 __attribute__((address(0x84))); + + +extern volatile __bit T1CKPS1 __attribute__((address(0x85))); + + +extern volatile __bit T1GINV __attribute__((address(0x87))); + + +extern volatile __bit T1GIV __attribute__((address(0x87))); + + +extern volatile __bit T1GSS __attribute__((address(0x849))); + + +extern volatile __bit T1INSYNC __attribute__((address(0x82))); + + +extern volatile __bit T1OSCEN __attribute__((address(0x83))); + + +extern volatile __bit T1SYNC __attribute__((address(0x82))); + + +extern volatile __bit T2CKPS0 __attribute__((address(0x90))); + + +extern volatile __bit T2CKPS1 __attribute__((address(0x91))); + + +extern volatile __bit TMR0IE __attribute__((address(0x5D))); + + +extern volatile __bit TMR0IF __attribute__((address(0x5A))); + + +extern volatile __bit TMR1CS __attribute__((address(0x81))); + + +extern volatile __bit TMR1GE __attribute__((address(0x86))); + + +extern volatile __bit TMR1IE __attribute__((address(0x460))); + + +extern volatile __bit TMR1IF __attribute__((address(0x60))); + + +extern volatile __bit TMR1ON __attribute__((address(0x80))); + + +extern volatile __bit TMR2IE __attribute__((address(0x461))); + + +extern volatile __bit TMR2IF __attribute__((address(0x61))); + + +extern volatile __bit TMR2ON __attribute__((address(0x92))); + + +extern volatile __bit TOUTPS0 __attribute__((address(0x93))); + + +extern volatile __bit TOUTPS1 __attribute__((address(0x94))); + + +extern volatile __bit TOUTPS2 __attribute__((address(0x95))); + + +extern volatile __bit TOUTPS3 __attribute__((address(0x96))); + + +extern volatile __bit TRISA0 __attribute__((address(0x428))); + + +extern volatile __bit TRISA1 __attribute__((address(0x429))); + + +extern volatile __bit TRISA2 __attribute__((address(0x42A))); + + +extern volatile __bit TRISA3 __attribute__((address(0x42B))); + + +extern volatile __bit TRISA4 __attribute__((address(0x42C))); + + +extern volatile __bit TRISA5 __attribute__((address(0x42D))); + + +extern volatile __bit TRISA6 __attribute__((address(0x42E))); + + +extern volatile __bit TRISA7 __attribute__((address(0x42F))); + + +extern volatile __bit TRISB0 __attribute__((address(0x430))); + + +extern volatile __bit TRISB1 __attribute__((address(0x431))); + + +extern volatile __bit TRISB2 __attribute__((address(0x432))); + + +extern volatile __bit TRISB3 __attribute__((address(0x433))); + + +extern volatile __bit TRISB4 __attribute__((address(0x434))); + + +extern volatile __bit TRISB5 __attribute__((address(0x435))); + + +extern volatile __bit TRISB6 __attribute__((address(0x436))); + + +extern volatile __bit TRISB7 __attribute__((address(0x437))); + + +extern volatile __bit TRISC0 __attribute__((address(0x438))); + + +extern volatile __bit TRISC1 __attribute__((address(0x439))); + + +extern volatile __bit TRISC2 __attribute__((address(0x43A))); + + +extern volatile __bit TRISC3 __attribute__((address(0x43B))); + + +extern volatile __bit TRISC4 __attribute__((address(0x43C))); + + +extern volatile __bit TRISC5 __attribute__((address(0x43D))); + + +extern volatile __bit TRISC6 __attribute__((address(0x43E))); + + +extern volatile __bit TRISC7 __attribute__((address(0x43F))); + + +extern volatile __bit TRISD0 __attribute__((address(0x440))); + + +extern volatile __bit TRISD1 __attribute__((address(0x441))); + + +extern volatile __bit TRISD2 __attribute__((address(0x442))); + + +extern volatile __bit TRISD3 __attribute__((address(0x443))); + + +extern volatile __bit TRISD4 __attribute__((address(0x444))); + + +extern volatile __bit TRISD5 __attribute__((address(0x445))); + + +extern volatile __bit TRISD6 __attribute__((address(0x446))); + + +extern volatile __bit TRISD7 __attribute__((address(0x447))); + + +extern volatile __bit TRISE0 __attribute__((address(0x448))); + + +extern volatile __bit TRISE1 __attribute__((address(0x449))); + + +extern volatile __bit TRISE2 __attribute__((address(0x44A))); + + +extern volatile __bit TRISE3 __attribute__((address(0x44B))); + + +extern volatile __bit TRMT __attribute__((address(0x4C1))); + + +extern volatile __bit TUN0 __attribute__((address(0x480))); + + +extern volatile __bit TUN1 __attribute__((address(0x481))); + + +extern volatile __bit TUN2 __attribute__((address(0x482))); + + +extern volatile __bit TUN3 __attribute__((address(0x483))); + + +extern volatile __bit TUN4 __attribute__((address(0x484))); + + +extern volatile __bit TX8_9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9D __attribute__((address(0x4C0))); + + +extern volatile __bit TXD8 __attribute__((address(0x4C0))); + + +extern volatile __bit TXEN __attribute__((address(0x4C5))); + + +extern volatile __bit TXIE __attribute__((address(0x464))); + + +extern volatile __bit TXIF __attribute__((address(0x64))); + + +extern volatile __bit UA __attribute__((address(0x4A1))); + + +extern volatile __bit ULPWUE __attribute__((address(0x475))); + + +extern volatile __bit ULPWUIE __attribute__((address(0x46A))); + + +extern volatile __bit ULPWUIF __attribute__((address(0x6A))); + + +extern volatile __bit VCFG0 __attribute__((address(0x4FC))); + + +extern volatile __bit VCFG1 __attribute__((address(0x4FD))); + + +extern volatile __bit VR0 __attribute__((address(0x4B8))); + + +extern volatile __bit VR1 __attribute__((address(0x4B9))); + + +extern volatile __bit VR2 __attribute__((address(0x4BA))); + + +extern volatile __bit VR3 __attribute__((address(0x4BB))); + + +extern volatile __bit VREN __attribute__((address(0x4BF))); + + +extern volatile __bit VROE __attribute__((address(0x4BE))); + + +extern volatile __bit VRR __attribute__((address(0x4BD))); + + +extern volatile __bit VRSS __attribute__((address(0x4BC))); + + +extern volatile __bit WCOL __attribute__((address(0xA7))); + + +extern volatile __bit WDTPS0 __attribute__((address(0x829))); + + +extern volatile __bit WDTPS1 __attribute__((address(0x82A))); + + +extern volatile __bit WDTPS2 __attribute__((address(0x82B))); + + +extern volatile __bit WDTPS3 __attribute__((address(0x82C))); + + +extern volatile __bit WPUB0 __attribute__((address(0x4A8))); + + +extern volatile __bit WPUB1 __attribute__((address(0x4A9))); + + +extern volatile __bit WPUB2 __attribute__((address(0x4AA))); + + +extern volatile __bit WPUB3 __attribute__((address(0x4AB))); + + +extern volatile __bit WPUB4 __attribute__((address(0x4AC))); + + +extern volatile __bit WPUB5 __attribute__((address(0x4AD))); + + +extern volatile __bit WPUB6 __attribute__((address(0x4AE))); + + +extern volatile __bit WPUB7 __attribute__((address(0x4AF))); + + +extern volatile __bit WR __attribute__((address(0xC61))); + + +extern volatile __bit WREN __attribute__((address(0xC62))); + + +extern volatile __bit WRERR __attribute__((address(0xC63))); + + +extern volatile __bit WUE __attribute__((address(0xC39))); + + +extern volatile __bit ZERO __attribute__((address(0x1A))); + + +extern volatile __bit nA __attribute__((address(0x4A5))); + + +extern volatile __bit nADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit nBO __attribute__((address(0x470))); + + +extern volatile __bit nBOR __attribute__((address(0x470))); + + +extern volatile __bit nDONE __attribute__((address(0xF9))); + + +extern volatile __bit nPD __attribute__((address(0x1B))); + + +extern volatile __bit nPOR __attribute__((address(0x471))); + + +extern volatile __bit nRBPU __attribute__((address(0x40F))); + + +extern volatile __bit nRC8 __attribute__((address(0xC6))); + + +extern volatile __bit nT1SYNC __attribute__((address(0x82))); + + +extern volatile __bit nTO __attribute__((address(0x1C))); + + +extern volatile __bit nTX8 __attribute__((address(0x4C6))); + + +extern volatile __bit nW __attribute__((address(0x4A2))); + + +extern volatile __bit nWRITE __attribute__((address(0x4A2))); +# 725 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 2 3 +# 14 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 76 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +__attribute__((__unsupported__("The " "FLASH_READ" " macro function is no longer supported. Please use the MPLAB X MCC."))) unsigned char __flash_read(unsigned short addr); + +__attribute__((__unsupported__("The " "FLASH_WRITE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_write(unsigned short addr, unsigned short data); + +__attribute__((__unsupported__("The " "FLASH_ERASE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_erase(unsigned short addr); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 1 3 +# 114 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 3 +extern void eeprom_write(unsigned char addr, unsigned char value); +extern unsigned char eeprom_read(unsigned char addr); +# 84 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 118 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +extern __bank0 unsigned char __resetbits; +extern __bank0 __bit __powerdown; +extern __bank0 __bit __timeout; +# 29 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 5 "src/../include/config.h" 2 + + + + +#pragma config FOSC = INTRC_NOCLKOUT +#pragma config WDTE = OFF +#pragma config PWRTE = ON +#pragma config MCLRE = OFF +#pragma config CP = OFF +#pragma config CPD = OFF +#pragma config BOREN = ON +#pragma config IESO = OFF +#pragma config FCMEN = OFF +#pragma config LVP = OFF +#pragma config BOR4V = BOR40V +#pragma config WRT = OFF +# 2 "src/initialisation.c" 2 + + + +# 1 "src/../include/initialisation.h" 1 +# 13 "src/../include/initialisation.h" + typedef enum { ON = 0, OFF = 1 } PinStates; + + + + +typedef enum { OUTPUT = 0, INPUT = 1 } PinDirection; +typedef enum { DIGITAL = 0, ANALOG = 1 } PinMode; + +typedef enum { + A0 = TRISAbits.TRISA0, + A1 = TRISAbits.TRISA1, + A2 = TRISAbits.TRISA2, + A3 = TRISAbits.TRISA3, + A4 = TRISAbits.TRISA4, + A5 = TRISAbits.TRISA5, +} TRIS; + +typedef struct { + volatile uint8_t* tris; + volatile uint8_t* lat; + volatile uint8_t* ansel; + PinDirection direction; + PinMode mode; +} PinConfig; + + +typedef enum { CONFIG_FOSC = 0, INTERNAL_FOSC = 1 } OscStartupTime; +typedef enum { CONFIG_CLK = 0, INTERNAL_CLK = 1 } SysClockSelect; +typedef enum { HTS_UNSTABLE = 0, HTS_STABLE = 1 } HFINTOSCStatus; +typedef enum { LTS_UNSTABLE = 0, LTS_STABLE = 1 } LFINTOSCStable; +typedef enum { + KHZ032 = 0b000, + KHZ125 = 0b001, + KHZ250 = 0b010, + KHZ500 = 0b011, + MHZ001 = 0b100, + MHZ002 = 0b101, + MHZ004 = 0b110, + MHZ008 = 0b111 +} InternalFrequency; + +typedef struct { + SysClockSelect SCS; + InternalFrequency IRCF; + OscStartupTime OSTS; +} OscillatorConfig; + + +typedef enum { GIE_DISABLED = 0, GIE_ENABLED = 1 } GlobalInterrupt; +typedef enum { EINT_DISABLED = 0, EINT_ENABLED = 1 } ExternalInterrupt; +typedef enum { PEIE_DISABLED = 0, PEIE_ENABLED = 1 } PeripheralInterrupt; +typedef enum { T0INT_DISABLED = 0, T0INT_ENABLED = 1 } Timer0OverflowInterrupt; +typedef enum { RBINT_DISABLED = 0, RBINT_ENABLED = 1 } PortBInterrupt; +typedef enum { FALLING_EDGE = 0, RISING_EDGE = 1 } InterruptEdge; +typedef enum { INT_AWAITING = 0, INT_OCCURED = 1 } InterruptFlag; + +typedef struct { + GlobalInterrupt GIE; + ExternalInterrupt EINT; + PeripheralInterrupt PEIE; + Timer0OverflowInterrupt T0IE; + PortBInterrupt RBIE; + InterruptEdge INTEDG; +} InterruptConfig; + + +typedef enum { ADC_OFF = 0, ADC_ON = 1 } ADCEnable; +typedef enum { VREF_MINPIN = 0, VREF_VSS = 1 } ADCVoltageReference1; +typedef enum { VREF_PLUSPIN = 0, VREF_VDD = 1 } ADCVoltageReference0; +typedef enum { ADC_LEFT = 0, ADC_RIGHT = 1 } ADCResultFormat; +typedef enum { ADC_DONE = 0, ADC_IN_PROGRESS = 1 } ADCConversionStatus; +typedef enum { + ADC_AN00 = 0b0000, + ADC_AN01 = 0b0001, + ADC_AN02 = 0b0010, + ADC_AN03 = 0b0011, + ADC_AN04 = 0b0100, + ADC_AN05 = 0b0101, + ADC_AN06 = 0b0110, + ADC_AN07 = 0b0111, + ADC_AN08 = 0b1000, + ADC_AN09 = 0b1001, + ADC_AN10 = 0b1010, + ADC_AN11 = 0b1011, + ADC_AN12 = 0b1100, + ADC_AN13 = 0b1101, + ADC_CVREF = 0b1110, + ADC_FXREF = 0b1111 +} ADCChannelSelect; + +typedef enum { + ADC_FOSC02 = 0b00, + ADC_FOSC08 = 0b01, + ADC_FOSC32 = 0b10, + ADC_INTOSC = 0b11 +} ADCConversionClock; + +typedef struct { + ADCEnable ADON; + ADCResultFormat ADFM; + ADCChannelSelect CHS; + ADCConversionClock ADCS; + ADCVoltageReference0 VCFG0; + ADCVoltageReference1 VCFG1; + ADCConversionStatus GO_nDONE; +} ADCConfig; + + + +void init_osc(OscillatorConfig config); +void init_int(InterruptConfig config); +void init_adc(ADCConfig config); +void init_gpio2(PinConfig* ports); +# 5 "src/initialisation.c" 2 +# 20 "src/initialisation.c" +void init_gpio2(PinConfig* config) { + + uint8_t size = sizeof(config) / sizeof(config[0]); + + + for (uint8_t i = 0; i < size; i++) { + + *config[i].tris = config[i].direction; + *config[i].ansel = config[i].mode; + + if (config[i].direction == OUTPUT) { + + *config[i].lat = OFF; + } + } +} +# 48 "src/initialisation.c" +void init_osc(OscillatorConfig config) { + + OSCCONbits.SCS = config.SCS; + + OSCCONbits.IRCF = config.IRCF; + + OSCCONbits.OSTS = config.OSTS; + + + if (OSCCONbits.IRCF == KHZ032) { + while (OSCCONbits.LTS != LTS_STABLE); + } else { + while (OSCCONbits.HTS != HTS_STABLE); + } +} +# 75 "src/initialisation.c" +void init_int(InterruptConfig config) { + + INTCONbits.GIE = config.GIE; + + INTCONbits.INTE = config.EINT; + + + INTCONbits.PEIE = config.PEIE; + + INTCONbits.T0IE = config.T0IE; + + + INTCONbits.RBIE = config.RBIE; + + + IOCBbits.IOCB4 = 1; + IOCBbits.IOCB5 = 1; + + + OPTION_REGbits.INTEDG = config.INTEDG; + + + if (INTCONbits.INTE == EINT_ENABLED) { + INTCONbits.INTF = INT_AWAITING; + } + if (INTCONbits.RBIE == RBINT_ENABLED) { + INTCONbits.RBIF = INT_AWAITING; + } + if (INTCONbits.T0IE == T0INT_ENABLED) { + INTCONbits.T0IF = INT_AWAITING; + } +} +# 119 "src/initialisation.c" +void init_adc(ADCConfig config) { + + ADCON0bits.ADON = config.ADON; + + ADCON0bits.GO_nDONE = config.GO_nDONE; + + ADCON0bits.CHS = config.CHS; + + ADCON0bits.ADCS = config.ADCS; + + + ADCON1bits.ADFM = config.ADFM; + + ADCON1bits.VCFG1 = config.VCFG1; + ADCON1bits.VCFG0 = config.VCFG0; +} diff --git a/build/default/production/src/main.d b/build/default/production/src/main.d new file mode 100644 index 0000000..d8511b5 --- /dev/null +++ b/build/default/production/src/main.d @@ -0,0 +1,3 @@ +build/default/production/src\main.p1: src/main.c src/../include/config.h \ + src/../include/initialisation.h src/../include/rotary_encoder.h \ + src/../include/potentiometer.h diff --git a/build/default/production/src/main.i b/build/default/production/src/main.i new file mode 100644 index 0000000..d26e0e0 --- /dev/null +++ b/build/default/production/src/main.i @@ -0,0 +1,2925 @@ +# 1 "src/main.c" +# 1 "" 1 +# 1 "" 3 +# 288 "" 3 +# 1 "" 1 +# 1 "" 2 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\language_support.h" 1 3 +# 2 "" 2 +# 1 "src/main.c" 2 + + + +# 1 "src/../include/config.h" 1 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 18 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 3 +extern const char __xc8_OPTIM_SPEED; + +extern double __fpnormalize(double); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\musl_xc8.h" 1 3 +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + + + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\features.h" 1 3 +# 11 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 +# 21 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 24 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int wchar_t; +# 128 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned size_t; +# 174 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __int24 int24_t; +# 210 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __uint24 uint24_t; +# 22 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + +int atoi (const char *); +long atol (const char *); + + + +double atof (const char *); + + +float strtof (const char *restrict, char **restrict); +double strtod (const char *restrict, char **restrict); +long double strtold (const char *restrict, char **restrict); + + + +long strtol (const char *restrict, char **restrict, int); +unsigned long strtoul (const char *restrict, char **restrict, int); + + + + + +unsigned long __strtoxl(const char * s, char ** endptr, int base, char is_signed); +# 55 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +int rand (void); +void srand (unsigned); + +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); + + void abort (void); +int atexit (void (*) (void)); + void exit (int); + void _Exit (int); + +void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); + + + + + + + +__attribute__((nonreentrant)) void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); + +int abs (int); +long labs (long); + + + + +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; + + + + +div_t div (int, int); +ldiv_t ldiv (long, long); + + + + +typedef struct { unsigned int quot, rem; } udiv_t; +typedef struct { unsigned long quot, rem; } uldiv_t; +udiv_t udiv (unsigned int, unsigned int); +uldiv_t uldiv (unsigned long, unsigned long); +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 2 3 + + + + + + + +#pragma intrinsic(__builtin_software_breakpoint) +extern void __builtin_software_breakpoint(void); +# 24 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 1 3 +# 26 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 133 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned short uintptr_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef short intptr_t; +# 164 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef signed char int8_t; + + + + +typedef short int16_t; +# 179 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int32_t; +# 192 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef int32_t intmax_t; + + + + + + + +typedef unsigned char uint8_t; + + + + +typedef unsigned short uint16_t; +# 215 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned long uint32_t; +# 233 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef uint32_t uintmax_t; +# 27 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 + +typedef int8_t int_fast8_t; + + + + +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; + +typedef int24_t int_least24_t; +typedef int24_t int_fast24_t; + +typedef int32_t int_least32_t; + + + + +typedef uint8_t uint_fast8_t; + + + + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; + +typedef uint24_t uint_least24_t; +typedef uint24_t uint_fast24_t; + +typedef uint32_t uint_least32_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/stdint.h" 1 3 +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +# 149 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 2 3 + + +#pragma intrinsic(__nop) +extern void __nop(void); + + +#pragma intrinsic(_delay) +extern __attribute__((nonreentrant)) void _delay(uint32_t); +#pragma intrinsic(_delaywdt) +extern __attribute__((nonreentrant)) void _delaywdt(uint32_t); +# 25 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 1 3 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 1 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 2 3 +# 6 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 + + + + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 1 3 +# 724 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 1 3 +# 44 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\__at.h" 1 3 +# 45 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 2 3 + + + + + + + +extern volatile unsigned char INDF __attribute__((address(0x000))); + +__asm("INDF equ 00h"); + + + + +extern volatile unsigned char TMR0 __attribute__((address(0x001))); + +__asm("TMR0 equ 01h"); + + + + +extern volatile unsigned char PCL __attribute__((address(0x002))); + +__asm("PCL equ 02h"); + + + + +extern volatile unsigned char STATUS __attribute__((address(0x003))); + +__asm("STATUS equ 03h"); + + +typedef union { + struct { + unsigned C :1; + unsigned DC :1; + unsigned Z :1; + unsigned nPD :1; + unsigned nTO :1; + unsigned RP :2; + unsigned IRP :1; + }; + struct { + unsigned :5; + unsigned RP0 :1; + unsigned RP1 :1; + }; + struct { + unsigned CARRY :1; + unsigned :1; + unsigned ZERO :1; + }; +} STATUSbits_t; +extern volatile STATUSbits_t STATUSbits __attribute__((address(0x003))); +# 159 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char FSR __attribute__((address(0x004))); + +__asm("FSR equ 04h"); + + + + +extern volatile unsigned char PORTA __attribute__((address(0x005))); + +__asm("PORTA equ 05h"); + + +typedef union { + struct { + unsigned RA0 :1; + unsigned RA1 :1; + unsigned RA2 :1; + unsigned RA3 :1; + unsigned RA4 :1; + unsigned RA5 :1; + unsigned RA6 :1; + unsigned RA7 :1; + }; +} PORTAbits_t; +extern volatile PORTAbits_t PORTAbits __attribute__((address(0x005))); +# 228 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTB __attribute__((address(0x006))); + +__asm("PORTB equ 06h"); + + +typedef union { + struct { + unsigned RB0 :1; + unsigned RB1 :1; + unsigned RB2 :1; + unsigned RB3 :1; + unsigned RB4 :1; + unsigned RB5 :1; + unsigned RB6 :1; + unsigned RB7 :1; + }; +} PORTBbits_t; +extern volatile PORTBbits_t PORTBbits __attribute__((address(0x006))); +# 290 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTC __attribute__((address(0x007))); + +__asm("PORTC equ 07h"); + + +typedef union { + struct { + unsigned RC0 :1; + unsigned RC1 :1; + unsigned RC2 :1; + unsigned RC3 :1; + unsigned RC4 :1; + unsigned RC5 :1; + unsigned RC6 :1; + unsigned RC7 :1; + }; +} PORTCbits_t; +extern volatile PORTCbits_t PORTCbits __attribute__((address(0x007))); +# 352 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTD __attribute__((address(0x008))); + +__asm("PORTD equ 08h"); + + +typedef union { + struct { + unsigned RD0 :1; + unsigned RD1 :1; + unsigned RD2 :1; + unsigned RD3 :1; + unsigned RD4 :1; + unsigned RD5 :1; + unsigned RD6 :1; + unsigned RD7 :1; + }; +} PORTDbits_t; +extern volatile PORTDbits_t PORTDbits __attribute__((address(0x008))); +# 414 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTE __attribute__((address(0x009))); + +__asm("PORTE equ 09h"); + + +typedef union { + struct { + unsigned RE0 :1; + unsigned RE1 :1; + unsigned RE2 :1; + unsigned RE3 :1; + }; +} PORTEbits_t; +extern volatile PORTEbits_t PORTEbits __attribute__((address(0x009))); +# 452 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCLATH __attribute__((address(0x00A))); + +__asm("PCLATH equ 0Ah"); + + + + +extern volatile unsigned char INTCON __attribute__((address(0x00B))); + +__asm("INTCON equ 0Bh"); + + +typedef union { + struct { + unsigned RBIF :1; + unsigned INTF :1; + unsigned T0IF :1; + unsigned RBIE :1; + unsigned INTE :1; + unsigned T0IE :1; + unsigned PEIE :1; + unsigned GIE :1; + }; + struct { + unsigned :2; + unsigned TMR0IF :1; + unsigned :2; + unsigned TMR0IE :1; + }; +} INTCONbits_t; +extern volatile INTCONbits_t INTCONbits __attribute__((address(0x00B))); +# 537 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR1 __attribute__((address(0x00C))); + +__asm("PIR1 equ 0Ch"); + + +typedef union { + struct { + unsigned TMR1IF :1; + unsigned TMR2IF :1; + unsigned CCP1IF :1; + unsigned SSPIF :1; + unsigned TXIF :1; + unsigned RCIF :1; + unsigned ADIF :1; + }; +} PIR1bits_t; +extern volatile PIR1bits_t PIR1bits __attribute__((address(0x00C))); +# 593 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR2 __attribute__((address(0x00D))); + +__asm("PIR2 equ 0Dh"); + + +typedef union { + struct { + unsigned CCP2IF :1; + unsigned :1; + unsigned ULPWUIF :1; + unsigned BCLIF :1; + unsigned EEIF :1; + unsigned C1IF :1; + unsigned C2IF :1; + unsigned OSFIF :1; + }; +} PIR2bits_t; +extern volatile PIR2bits_t PIR2bits __attribute__((address(0x00D))); +# 650 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short TMR1 __attribute__((address(0x00E))); + +__asm("TMR1 equ 0Eh"); + + + + +extern volatile unsigned char TMR1L __attribute__((address(0x00E))); + +__asm("TMR1L equ 0Eh"); + + + + +extern volatile unsigned char TMR1H __attribute__((address(0x00F))); + +__asm("TMR1H equ 0Fh"); + + + + +extern volatile unsigned char T1CON __attribute__((address(0x010))); + +__asm("T1CON equ 010h"); + + +typedef union { + struct { + unsigned TMR1ON :1; + unsigned TMR1CS :1; + unsigned nT1SYNC :1; + unsigned T1OSCEN :1; + unsigned T1CKPS :2; + unsigned TMR1GE :1; + unsigned T1GINV :1; + }; + struct { + unsigned :2; + unsigned T1INSYNC :1; + unsigned :1; + unsigned T1CKPS0 :1; + unsigned T1CKPS1 :1; + unsigned :1; + unsigned T1GIV :1; + }; + struct { + unsigned :2; + unsigned T1SYNC :1; + }; +} T1CONbits_t; +extern volatile T1CONbits_t T1CONbits __attribute__((address(0x010))); +# 765 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TMR2 __attribute__((address(0x011))); + +__asm("TMR2 equ 011h"); + + + + +extern volatile unsigned char T2CON __attribute__((address(0x012))); + +__asm("T2CON equ 012h"); + + +typedef union { + struct { + unsigned T2CKPS :2; + unsigned TMR2ON :1; + unsigned TOUTPS :4; + }; + struct { + unsigned T2CKPS0 :1; + unsigned T2CKPS1 :1; + unsigned :1; + unsigned TOUTPS0 :1; + unsigned TOUTPS1 :1; + unsigned TOUTPS2 :1; + unsigned TOUTPS3 :1; + }; +} T2CONbits_t; +extern volatile T2CONbits_t T2CONbits __attribute__((address(0x012))); +# 843 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPBUF __attribute__((address(0x013))); + +__asm("SSPBUF equ 013h"); + + + + +extern volatile unsigned char SSPCON __attribute__((address(0x014))); + +__asm("SSPCON equ 014h"); + + +typedef union { + struct { + unsigned SSPM :4; + unsigned CKP :1; + unsigned SSPEN :1; + unsigned SSPOV :1; + unsigned WCOL :1; + }; + struct { + unsigned SSPM0 :1; + unsigned SSPM1 :1; + unsigned SSPM2 :1; + unsigned SSPM3 :1; + }; +} SSPCONbits_t; +extern volatile SSPCONbits_t SSPCONbits __attribute__((address(0x014))); +# 920 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short CCPR1 __attribute__((address(0x015))); + +__asm("CCPR1 equ 015h"); + + + + +extern volatile unsigned char CCPR1L __attribute__((address(0x015))); + +__asm("CCPR1L equ 015h"); + + + + +extern volatile unsigned char CCPR1H __attribute__((address(0x016))); + +__asm("CCPR1H equ 016h"); + + + + +extern volatile unsigned char CCP1CON __attribute__((address(0x017))); + +__asm("CCP1CON equ 017h"); + + +typedef union { + struct { + unsigned CCP1M :4; + unsigned DC1B :2; + unsigned P1M :2; + }; + struct { + unsigned CCP1M0 :1; + unsigned CCP1M1 :1; + unsigned CCP1M2 :1; + unsigned CCP1M3 :1; + unsigned DC1B0 :1; + unsigned DC1B1 :1; + unsigned P1M0 :1; + unsigned P1M1 :1; + }; + struct { + unsigned :4; + unsigned CCP1Y :1; + unsigned CCP1X :1; + }; +} CCP1CONbits_t; +extern volatile CCP1CONbits_t CCP1CONbits __attribute__((address(0x017))); +# 1038 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char RCSTA __attribute__((address(0x018))); + +__asm("RCSTA equ 018h"); + + +typedef union { + struct { + unsigned RX9D :1; + unsigned OERR :1; + unsigned FERR :1; + unsigned ADDEN :1; + unsigned CREN :1; + unsigned SREN :1; + unsigned RX9 :1; + unsigned SPEN :1; + }; + struct { + unsigned RCD8 :1; + unsigned :5; + unsigned RC9 :1; + }; + struct { + unsigned :6; + unsigned nRC8 :1; + }; + struct { + unsigned :6; + unsigned RC8_9 :1; + }; +} RCSTAbits_t; +extern volatile RCSTAbits_t RCSTAbits __attribute__((address(0x018))); +# 1133 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXREG __attribute__((address(0x019))); + +__asm("TXREG equ 019h"); + + + + +extern volatile unsigned char RCREG __attribute__((address(0x01A))); + +__asm("RCREG equ 01Ah"); + + + + +extern volatile unsigned short CCPR2 __attribute__((address(0x01B))); + +__asm("CCPR2 equ 01Bh"); + + + + +extern volatile unsigned char CCPR2L __attribute__((address(0x01B))); + +__asm("CCPR2L equ 01Bh"); + + + + +extern volatile unsigned char CCPR2H __attribute__((address(0x01C))); + +__asm("CCPR2H equ 01Ch"); + + + + +extern volatile unsigned char CCP2CON __attribute__((address(0x01D))); + +__asm("CCP2CON equ 01Dh"); + + +typedef union { + struct { + unsigned CCP2M :4; + unsigned DC2B0 :1; + unsigned DC2B1 :1; + }; + struct { + unsigned CCP2M0 :1; + unsigned CCP2M1 :1; + unsigned CCP2M2 :1; + unsigned CCP2M3 :1; + unsigned CCP2Y :1; + unsigned CCP2X :1; + }; +} CCP2CONbits_t; +extern volatile CCP2CONbits_t CCP2CONbits __attribute__((address(0x01D))); +# 1238 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESH __attribute__((address(0x01E))); + +__asm("ADRESH equ 01Eh"); + + + + +extern volatile unsigned char ADCON0 __attribute__((address(0x01F))); + +__asm("ADCON0 equ 01Fh"); + + +typedef union { + struct { + unsigned ADON :1; + unsigned GO_nDONE :1; + unsigned CHS :4; + unsigned ADCS :2; + }; + struct { + unsigned :1; + unsigned GO :1; + unsigned CHS0 :1; + unsigned CHS1 :1; + unsigned CHS2 :1; + unsigned CHS3 :1; + unsigned ADCS0 :1; + unsigned ADCS1 :1; + }; + struct { + unsigned :1; + unsigned nDONE :1; + }; + struct { + unsigned :1; + unsigned GO_DONE :1; + }; +} ADCON0bits_t; +extern volatile ADCON0bits_t ADCON0bits __attribute__((address(0x01F))); +# 1346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OPTION_REG __attribute__((address(0x081))); + +__asm("OPTION_REG equ 081h"); + + +typedef union { + struct { + unsigned PS :3; + unsigned PSA :1; + unsigned T0SE :1; + unsigned T0CS :1; + unsigned INTEDG :1; + unsigned nRBPU :1; + }; + struct { + unsigned PS0 :1; + unsigned PS1 :1; + unsigned PS2 :1; + }; +} OPTION_REGbits_t; +extern volatile OPTION_REGbits_t OPTION_REGbits __attribute__((address(0x081))); +# 1416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISA __attribute__((address(0x085))); + +__asm("TRISA equ 085h"); + + +typedef union { + struct { + unsigned TRISA0 :1; + unsigned TRISA1 :1; + unsigned TRISA2 :1; + unsigned TRISA3 :1; + unsigned TRISA4 :1; + unsigned TRISA5 :1; + unsigned TRISA6 :1; + unsigned TRISA7 :1; + }; +} TRISAbits_t; +extern volatile TRISAbits_t TRISAbits __attribute__((address(0x085))); +# 1478 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISB __attribute__((address(0x086))); + +__asm("TRISB equ 086h"); + + +typedef union { + struct { + unsigned TRISB0 :1; + unsigned TRISB1 :1; + unsigned TRISB2 :1; + unsigned TRISB3 :1; + unsigned TRISB4 :1; + unsigned TRISB5 :1; + unsigned TRISB6 :1; + unsigned TRISB7 :1; + }; +} TRISBbits_t; +extern volatile TRISBbits_t TRISBbits __attribute__((address(0x086))); +# 1540 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISC __attribute__((address(0x087))); + +__asm("TRISC equ 087h"); + + +typedef union { + struct { + unsigned TRISC0 :1; + unsigned TRISC1 :1; + unsigned TRISC2 :1; + unsigned TRISC3 :1; + unsigned TRISC4 :1; + unsigned TRISC5 :1; + unsigned TRISC6 :1; + unsigned TRISC7 :1; + }; +} TRISCbits_t; +extern volatile TRISCbits_t TRISCbits __attribute__((address(0x087))); +# 1602 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISD __attribute__((address(0x088))); + +__asm("TRISD equ 088h"); + + +typedef union { + struct { + unsigned TRISD0 :1; + unsigned TRISD1 :1; + unsigned TRISD2 :1; + unsigned TRISD3 :1; + unsigned TRISD4 :1; + unsigned TRISD5 :1; + unsigned TRISD6 :1; + unsigned TRISD7 :1; + }; +} TRISDbits_t; +extern volatile TRISDbits_t TRISDbits __attribute__((address(0x088))); +# 1664 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISE __attribute__((address(0x089))); + +__asm("TRISE equ 089h"); + + +typedef union { + struct { + unsigned TRISE0 :1; + unsigned TRISE1 :1; + unsigned TRISE2 :1; + unsigned TRISE3 :1; + }; +} TRISEbits_t; +extern volatile TRISEbits_t TRISEbits __attribute__((address(0x089))); +# 1702 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE1 __attribute__((address(0x08C))); + +__asm("PIE1 equ 08Ch"); + + +typedef union { + struct { + unsigned TMR1IE :1; + unsigned TMR2IE :1; + unsigned CCP1IE :1; + unsigned SSPIE :1; + unsigned TXIE :1; + unsigned RCIE :1; + unsigned ADIE :1; + }; +} PIE1bits_t; +extern volatile PIE1bits_t PIE1bits __attribute__((address(0x08C))); +# 1758 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE2 __attribute__((address(0x08D))); + +__asm("PIE2 equ 08Dh"); + + +typedef union { + struct { + unsigned CCP2IE :1; + unsigned :1; + unsigned ULPWUIE :1; + unsigned BCLIE :1; + unsigned EEIE :1; + unsigned C1IE :1; + unsigned C2IE :1; + unsigned OSFIE :1; + }; +} PIE2bits_t; +extern volatile PIE2bits_t PIE2bits __attribute__((address(0x08D))); +# 1815 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCON __attribute__((address(0x08E))); + +__asm("PCON equ 08Eh"); + + +typedef union { + struct { + unsigned nBOR :1; + unsigned nPOR :1; + unsigned :2; + unsigned SBOREN :1; + unsigned ULPWUE :1; + }; + struct { + unsigned nBO :1; + }; +} PCONbits_t; +extern volatile PCONbits_t PCONbits __attribute__((address(0x08E))); +# 1862 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCCON __attribute__((address(0x08F))); + +__asm("OSCCON equ 08Fh"); + + +typedef union { + struct { + unsigned SCS :1; + unsigned LTS :1; + unsigned HTS :1; + unsigned OSTS :1; + unsigned IRCF :3; + }; + struct { + unsigned :4; + unsigned IRCF0 :1; + unsigned IRCF1 :1; + unsigned IRCF2 :1; + }; +} OSCCONbits_t; +extern volatile OSCCONbits_t OSCCONbits __attribute__((address(0x08F))); +# 1927 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCTUNE __attribute__((address(0x090))); + +__asm("OSCTUNE equ 090h"); + + +typedef union { + struct { + unsigned TUN :5; + }; + struct { + unsigned TUN0 :1; + unsigned TUN1 :1; + unsigned TUN2 :1; + unsigned TUN3 :1; + unsigned TUN4 :1; + }; +} OSCTUNEbits_t; +extern volatile OSCTUNEbits_t OSCTUNEbits __attribute__((address(0x090))); +# 1979 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPCON2 __attribute__((address(0x091))); + +__asm("SSPCON2 equ 091h"); + + +typedef union { + struct { + unsigned SEN :1; + unsigned RSEN :1; + unsigned PEN :1; + unsigned RCEN :1; + unsigned ACKEN :1; + unsigned ACKDT :1; + unsigned ACKSTAT :1; + unsigned GCEN :1; + }; +} SSPCON2bits_t; +extern volatile SSPCON2bits_t SSPCON2bits __attribute__((address(0x091))); +# 2041 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PR2 __attribute__((address(0x092))); + +__asm("PR2 equ 092h"); + + + + +extern volatile unsigned char SSPADD __attribute__((address(0x093))); + +__asm("SSPADD equ 093h"); + + + + +extern volatile unsigned char SSPMSK __attribute__((address(0x093))); + +__asm("SSPMSK equ 093h"); + + +extern volatile unsigned char MSK __attribute__((address(0x093))); + +__asm("MSK equ 093h"); + + +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} SSPMSKbits_t; +extern volatile SSPMSKbits_t SSPMSKbits __attribute__((address(0x093))); +# 2120 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} MSKbits_t; +extern volatile MSKbits_t MSKbits __attribute__((address(0x093))); +# 2177 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPSTAT __attribute__((address(0x094))); + +__asm("SSPSTAT equ 094h"); + + +typedef union { + struct { + unsigned BF :1; + unsigned UA :1; + unsigned R_nW :1; + unsigned S :1; + unsigned P :1; + unsigned D_nA :1; + unsigned CKE :1; + unsigned SMP :1; + }; + struct { + unsigned :2; + unsigned R :1; + unsigned :2; + unsigned D :1; + }; + struct { + unsigned :2; + unsigned I2C_READ :1; + unsigned I2C_START :1; + unsigned I2C_STOP :1; + unsigned I2C_DATA :1; + }; + struct { + unsigned :2; + unsigned nW :1; + unsigned :2; + unsigned nA :1; + }; + struct { + unsigned :2; + unsigned nWRITE :1; + unsigned :2; + unsigned nADDRESS :1; + }; + struct { + unsigned :2; + unsigned R_W :1; + unsigned :2; + unsigned D_A :1; + }; + struct { + unsigned :2; + unsigned READ_WRITE :1; + unsigned :2; + unsigned DATA_ADDRESS :1; + }; +} SSPSTATbits_t; +extern volatile SSPSTATbits_t SSPSTATbits __attribute__((address(0x094))); +# 2346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WPUB __attribute__((address(0x095))); + +__asm("WPUB equ 095h"); + + +typedef union { + struct { + unsigned WPUB :8; + }; + struct { + unsigned WPUB0 :1; + unsigned WPUB1 :1; + unsigned WPUB2 :1; + unsigned WPUB3 :1; + unsigned WPUB4 :1; + unsigned WPUB5 :1; + unsigned WPUB6 :1; + unsigned WPUB7 :1; + }; +} WPUBbits_t; +extern volatile WPUBbits_t WPUBbits __attribute__((address(0x095))); +# 2416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char IOCB __attribute__((address(0x096))); + +__asm("IOCB equ 096h"); + + +typedef union { + struct { + unsigned IOCB :8; + }; + struct { + unsigned IOCB0 :1; + unsigned IOCB1 :1; + unsigned IOCB2 :1; + unsigned IOCB3 :1; + unsigned IOCB4 :1; + unsigned IOCB5 :1; + unsigned IOCB6 :1; + unsigned IOCB7 :1; + }; +} IOCBbits_t; +extern volatile IOCBbits_t IOCBbits __attribute__((address(0x096))); +# 2486 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char VRCON __attribute__((address(0x097))); + +__asm("VRCON equ 097h"); + + +typedef union { + struct { + unsigned VR :4; + unsigned VRSS :1; + unsigned VRR :1; + unsigned VROE :1; + unsigned VREN :1; + }; + struct { + unsigned VR0 :1; + unsigned VR1 :1; + unsigned VR2 :1; + unsigned VR3 :1; + }; +} VRCONbits_t; +extern volatile VRCONbits_t VRCONbits __attribute__((address(0x097))); +# 2556 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXSTA __attribute__((address(0x098))); + +__asm("TXSTA equ 098h"); + + +typedef union { + struct { + unsigned TX9D :1; + unsigned TRMT :1; + unsigned BRGH :1; + unsigned SENDB :1; + unsigned SYNC :1; + unsigned TXEN :1; + unsigned TX9 :1; + unsigned CSRC :1; + }; + struct { + unsigned TXD8 :1; + unsigned :5; + unsigned nTX8 :1; + }; + struct { + unsigned :6; + unsigned TX8_9 :1; + }; +} TXSTAbits_t; +extern volatile TXSTAbits_t TXSTAbits __attribute__((address(0x098))); +# 2642 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRG __attribute__((address(0x099))); + +__asm("SPBRG equ 099h"); + + +typedef union { + struct { + unsigned BRG0 :1; + unsigned BRG1 :1; + unsigned BRG2 :1; + unsigned BRG3 :1; + unsigned BRG4 :1; + unsigned BRG5 :1; + unsigned BRG6 :1; + unsigned BRG7 :1; + }; +} SPBRGbits_t; +extern volatile SPBRGbits_t SPBRGbits __attribute__((address(0x099))); +# 2704 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRGH __attribute__((address(0x09A))); + +__asm("SPBRGH equ 09Ah"); + + +typedef union { + struct { + unsigned SPBRGH :8; + }; + struct { + unsigned BRG8 :1; + unsigned BRG9 :1; + unsigned BRG10 :1; + unsigned BRG11 :1; + unsigned BRG12 :1; + unsigned BRG13 :1; + unsigned BRG14 :1; + unsigned BRG15 :1; + }; +} SPBRGHbits_t; +extern volatile SPBRGHbits_t SPBRGHbits __attribute__((address(0x09A))); +# 2774 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PWM1CON __attribute__((address(0x09B))); + +__asm("PWM1CON equ 09Bh"); + + +typedef union { + struct { + unsigned PDC :7; + unsigned PRSEN :1; + }; + struct { + unsigned PDC0 :1; + unsigned PDC1 :1; + unsigned PDC2 :1; + unsigned PDC3 :1; + unsigned PDC4 :1; + unsigned PDC5 :1; + unsigned PDC6 :1; + }; +} PWM1CONbits_t; +extern volatile PWM1CONbits_t PWM1CONbits __attribute__((address(0x09B))); +# 2844 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ECCPAS __attribute__((address(0x09C))); + +__asm("ECCPAS equ 09Ch"); + + +typedef union { + struct { + unsigned PSSBD :2; + unsigned PSSAC :2; + unsigned ECCPAS :3; + unsigned ECCPASE :1; + }; + struct { + unsigned PSSBD0 :1; + unsigned PSSBD1 :1; + unsigned PSSAC0 :1; + unsigned PSSAC1 :1; + unsigned ECCPAS0 :1; + unsigned ECCPAS1 :1; + unsigned ECCPAS2 :1; + }; +} ECCPASbits_t; +extern volatile ECCPASbits_t ECCPASbits __attribute__((address(0x09C))); +# 2926 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PSTRCON __attribute__((address(0x09D))); + +__asm("PSTRCON equ 09Dh"); + + +typedef union { + struct { + unsigned STRA :1; + unsigned STRB :1; + unsigned STRC :1; + unsigned STRD :1; + unsigned STRSYNC :1; + }; +} PSTRCONbits_t; +extern volatile PSTRCONbits_t PSTRCONbits __attribute__((address(0x09D))); +# 2970 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESL __attribute__((address(0x09E))); + +__asm("ADRESL equ 09Eh"); + + + + +extern volatile unsigned char ADCON1 __attribute__((address(0x09F))); + +__asm("ADCON1 equ 09Fh"); + + +typedef union { + struct { + unsigned :4; + unsigned VCFG0 :1; + unsigned VCFG1 :1; + unsigned :1; + unsigned ADFM :1; + }; +} ADCON1bits_t; +extern volatile ADCON1bits_t ADCON1bits __attribute__((address(0x09F))); +# 3011 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WDTCON __attribute__((address(0x105))); + +__asm("WDTCON equ 0105h"); + + +typedef union { + struct { + unsigned SWDTEN :1; + unsigned WDTPS :4; + }; + struct { + unsigned :1; + unsigned WDTPS0 :1; + unsigned WDTPS1 :1; + unsigned WDTPS2 :1; + unsigned WDTPS3 :1; + }; +} WDTCONbits_t; +extern volatile WDTCONbits_t WDTCONbits __attribute__((address(0x105))); +# 3064 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM1CON0 __attribute__((address(0x107))); + +__asm("CM1CON0 equ 0107h"); + + +typedef union { + struct { + unsigned C1CH :2; + unsigned C1R :1; + unsigned :1; + unsigned C1POL :1; + unsigned C1OE :1; + unsigned C1OUT :1; + unsigned C1ON :1; + }; + struct { + unsigned C1CH0 :1; + unsigned C1CH1 :1; + }; +} CM1CON0bits_t; +extern volatile CM1CON0bits_t CM1CON0bits __attribute__((address(0x107))); +# 3129 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON0 __attribute__((address(0x108))); + +__asm("CM2CON0 equ 0108h"); + + +typedef union { + struct { + unsigned C2CH :2; + unsigned C2R :1; + unsigned :1; + unsigned C2POL :1; + unsigned C2OE :1; + unsigned C2OUT :1; + unsigned C2ON :1; + }; + struct { + unsigned C2CH0 :1; + unsigned C2CH1 :1; + }; +} CM2CON0bits_t; +extern volatile CM2CON0bits_t CM2CON0bits __attribute__((address(0x108))); +# 3194 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON1 __attribute__((address(0x109))); + +__asm("CM2CON1 equ 0109h"); + + +typedef union { + struct { + unsigned C2SYNC :1; + unsigned T1GSS :1; + unsigned :2; + unsigned C2RSEL :1; + unsigned C1RSEL :1; + unsigned MC2OUT :1; + unsigned MC1OUT :1; + }; +} CM2CON1bits_t; +extern volatile CM2CON1bits_t CM2CON1bits __attribute__((address(0x109))); +# 3245 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EEDATA __attribute__((address(0x10C))); + +__asm("EEDATA equ 010Ch"); + + +extern volatile unsigned char EEDAT __attribute__((address(0x10C))); + +__asm("EEDAT equ 010Ch"); + + + + +extern volatile unsigned char EEADR __attribute__((address(0x10D))); + +__asm("EEADR equ 010Dh"); + + + + +extern volatile unsigned char EEDATH __attribute__((address(0x10E))); + +__asm("EEDATH equ 010Eh"); + + + + +extern volatile unsigned char EEADRH __attribute__((address(0x10F))); + +__asm("EEADRH equ 010Fh"); + + + + +extern volatile unsigned char SRCON __attribute__((address(0x185))); + +__asm("SRCON equ 0185h"); + + +typedef union { + struct { + unsigned FVREN :1; + unsigned :1; + unsigned PULSR :1; + unsigned PULSS :1; + unsigned C2REN :1; + unsigned C1SEN :1; + unsigned SR0 :1; + unsigned SR1 :1; + }; +} SRCONbits_t; +extern volatile SRCONbits_t SRCONbits __attribute__((address(0x185))); +# 3335 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char BAUDCTL __attribute__((address(0x187))); + +__asm("BAUDCTL equ 0187h"); + + +typedef union { + struct { + unsigned ABDEN :1; + unsigned WUE :1; + unsigned :1; + unsigned BRG16 :1; + unsigned SCKP :1; + unsigned :1; + unsigned RCIDL :1; + unsigned ABDOVF :1; + }; +} BAUDCTLbits_t; +extern volatile BAUDCTLbits_t BAUDCTLbits __attribute__((address(0x187))); +# 3387 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSEL __attribute__((address(0x188))); + +__asm("ANSEL equ 0188h"); + + +typedef union { + struct { + unsigned ANS0 :1; + unsigned ANS1 :1; + unsigned ANS2 :1; + unsigned ANS3 :1; + unsigned ANS4 :1; + unsigned ANS5 :1; + unsigned ANS6 :1; + unsigned ANS7 :1; + }; +} ANSELbits_t; +extern volatile ANSELbits_t ANSELbits __attribute__((address(0x188))); +# 3449 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSELH __attribute__((address(0x189))); + +__asm("ANSELH equ 0189h"); + + +typedef union { + struct { + unsigned ANS8 :1; + unsigned ANS9 :1; + unsigned ANS10 :1; + unsigned ANS11 :1; + unsigned ANS12 :1; + unsigned ANS13 :1; + }; +} ANSELHbits_t; +extern volatile ANSELHbits_t ANSELHbits __attribute__((address(0x189))); +# 3499 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON1 __attribute__((address(0x18C))); + +__asm("EECON1 equ 018Ch"); + + +typedef union { + struct { + unsigned RD :1; + unsigned WR :1; + unsigned WREN :1; + unsigned WRERR :1; + unsigned :3; + unsigned EEPGD :1; + }; +} EECON1bits_t; +extern volatile EECON1bits_t EECON1bits __attribute__((address(0x18C))); +# 3544 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON2 __attribute__((address(0x18D))); + +__asm("EECON2 equ 018Dh"); +# 3561 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile __bit ABDEN __attribute__((address(0xC38))); + + +extern volatile __bit ABDOVF __attribute__((address(0xC3F))); + + +extern volatile __bit ACKDT __attribute__((address(0x48D))); + + +extern volatile __bit ACKEN __attribute__((address(0x48C))); + + +extern volatile __bit ACKSTAT __attribute__((address(0x48E))); + + +extern volatile __bit ADCS0 __attribute__((address(0xFE))); + + +extern volatile __bit ADCS1 __attribute__((address(0xFF))); + + +extern volatile __bit ADDEN __attribute__((address(0xC3))); + + +extern volatile __bit ADFM __attribute__((address(0x4FF))); + + +extern volatile __bit ADIE __attribute__((address(0x466))); + + +extern volatile __bit ADIF __attribute__((address(0x66))); + + +extern volatile __bit ADON __attribute__((address(0xF8))); + + +extern volatile __bit ANS0 __attribute__((address(0xC40))); + + +extern volatile __bit ANS1 __attribute__((address(0xC41))); + + +extern volatile __bit ANS10 __attribute__((address(0xC4A))); + + +extern volatile __bit ANS11 __attribute__((address(0xC4B))); + + +extern volatile __bit ANS12 __attribute__((address(0xC4C))); + + +extern volatile __bit ANS13 __attribute__((address(0xC4D))); + + +extern volatile __bit ANS2 __attribute__((address(0xC42))); + + +extern volatile __bit ANS3 __attribute__((address(0xC43))); + + +extern volatile __bit ANS4 __attribute__((address(0xC44))); + + +extern volatile __bit ANS5 __attribute__((address(0xC45))); + + +extern volatile __bit ANS6 __attribute__((address(0xC46))); + + +extern volatile __bit ANS7 __attribute__((address(0xC47))); + + +extern volatile __bit ANS8 __attribute__((address(0xC48))); + + +extern volatile __bit ANS9 __attribute__((address(0xC49))); + + +extern volatile __bit BCLIE __attribute__((address(0x46B))); + + +extern volatile __bit BCLIF __attribute__((address(0x6B))); + + +extern volatile __bit BF __attribute__((address(0x4A0))); + + +extern volatile __bit BRG0 __attribute__((address(0x4C8))); + + +extern volatile __bit BRG1 __attribute__((address(0x4C9))); + + +extern volatile __bit BRG10 __attribute__((address(0x4D2))); + + +extern volatile __bit BRG11 __attribute__((address(0x4D3))); + + +extern volatile __bit BRG12 __attribute__((address(0x4D4))); + + +extern volatile __bit BRG13 __attribute__((address(0x4D5))); + + +extern volatile __bit BRG14 __attribute__((address(0x4D6))); + + +extern volatile __bit BRG15 __attribute__((address(0x4D7))); + + +extern volatile __bit BRG16 __attribute__((address(0xC3B))); + + +extern volatile __bit BRG2 __attribute__((address(0x4CA))); + + +extern volatile __bit BRG3 __attribute__((address(0x4CB))); + + +extern volatile __bit BRG4 __attribute__((address(0x4CC))); + + +extern volatile __bit BRG5 __attribute__((address(0x4CD))); + + +extern volatile __bit BRG6 __attribute__((address(0x4CE))); + + +extern volatile __bit BRG7 __attribute__((address(0x4CF))); + + +extern volatile __bit BRG8 __attribute__((address(0x4D0))); + + +extern volatile __bit BRG9 __attribute__((address(0x4D1))); + + +extern volatile __bit BRGH __attribute__((address(0x4C2))); + + +extern volatile __bit C1CH0 __attribute__((address(0x838))); + + +extern volatile __bit C1CH1 __attribute__((address(0x839))); + + +extern volatile __bit C1IE __attribute__((address(0x46D))); + + +extern volatile __bit C1IF __attribute__((address(0x6D))); + + +extern volatile __bit C1OE __attribute__((address(0x83D))); + + +extern volatile __bit C1ON __attribute__((address(0x83F))); + + +extern volatile __bit C1OUT __attribute__((address(0x83E))); + + +extern volatile __bit C1POL __attribute__((address(0x83C))); + + +extern volatile __bit C1R __attribute__((address(0x83A))); + + +extern volatile __bit C1RSEL __attribute__((address(0x84D))); + + +extern volatile __bit C1SEN __attribute__((address(0xC2D))); + + +extern volatile __bit C2CH0 __attribute__((address(0x840))); + + +extern volatile __bit C2CH1 __attribute__((address(0x841))); + + +extern volatile __bit C2IE __attribute__((address(0x46E))); + + +extern volatile __bit C2IF __attribute__((address(0x6E))); + + +extern volatile __bit C2OE __attribute__((address(0x845))); + + +extern volatile __bit C2ON __attribute__((address(0x847))); + + +extern volatile __bit C2OUT __attribute__((address(0x846))); + + +extern volatile __bit C2POL __attribute__((address(0x844))); + + +extern volatile __bit C2R __attribute__((address(0x842))); + + +extern volatile __bit C2REN __attribute__((address(0xC2C))); + + +extern volatile __bit C2RSEL __attribute__((address(0x84C))); + + +extern volatile __bit C2SYNC __attribute__((address(0x848))); + + +extern volatile __bit CARRY __attribute__((address(0x18))); + + +extern volatile __bit CCP1IE __attribute__((address(0x462))); + + +extern volatile __bit CCP1IF __attribute__((address(0x62))); + + +extern volatile __bit CCP1M0 __attribute__((address(0xB8))); + + +extern volatile __bit CCP1M1 __attribute__((address(0xB9))); + + +extern volatile __bit CCP1M2 __attribute__((address(0xBA))); + + +extern volatile __bit CCP1M3 __attribute__((address(0xBB))); + + +extern volatile __bit CCP1X __attribute__((address(0xBD))); + + +extern volatile __bit CCP1Y __attribute__((address(0xBC))); + + +extern volatile __bit CCP2IE __attribute__((address(0x468))); + + +extern volatile __bit CCP2IF __attribute__((address(0x68))); + + +extern volatile __bit CCP2M0 __attribute__((address(0xE8))); + + +extern volatile __bit CCP2M1 __attribute__((address(0xE9))); + + +extern volatile __bit CCP2M2 __attribute__((address(0xEA))); + + +extern volatile __bit CCP2M3 __attribute__((address(0xEB))); + + +extern volatile __bit CCP2X __attribute__((address(0xED))); + + +extern volatile __bit CCP2Y __attribute__((address(0xEC))); + + +extern volatile __bit CHS0 __attribute__((address(0xFA))); + + +extern volatile __bit CHS1 __attribute__((address(0xFB))); + + +extern volatile __bit CHS2 __attribute__((address(0xFC))); + + +extern volatile __bit CHS3 __attribute__((address(0xFD))); + + +extern volatile __bit CKE __attribute__((address(0x4A6))); + + +extern volatile __bit CKP __attribute__((address(0xA4))); + + +extern volatile __bit CREN __attribute__((address(0xC4))); + + +extern volatile __bit CSRC __attribute__((address(0x4C7))); + + +extern volatile __bit DATA_ADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit DC __attribute__((address(0x19))); + + +extern volatile __bit DC1B0 __attribute__((address(0xBC))); + + +extern volatile __bit DC1B1 __attribute__((address(0xBD))); + + +extern volatile __bit DC2B0 __attribute__((address(0xEC))); + + +extern volatile __bit DC2B1 __attribute__((address(0xED))); + + +extern volatile __bit D_A __attribute__((address(0x4A5))); + + +extern volatile __bit D_nA __attribute__((address(0x4A5))); + + +extern volatile __bit ECCPAS0 __attribute__((address(0x4E4))); + + +extern volatile __bit ECCPAS1 __attribute__((address(0x4E5))); + + +extern volatile __bit ECCPAS2 __attribute__((address(0x4E6))); + + +extern volatile __bit ECCPASE __attribute__((address(0x4E7))); + + +extern volatile __bit EEIE __attribute__((address(0x46C))); + + +extern volatile __bit EEIF __attribute__((address(0x6C))); + + +extern volatile __bit EEPGD __attribute__((address(0xC67))); + + +extern volatile __bit FERR __attribute__((address(0xC2))); + + +extern volatile __bit FVREN __attribute__((address(0xC28))); + + +extern volatile __bit GCEN __attribute__((address(0x48F))); + + +extern volatile __bit GIE __attribute__((address(0x5F))); + + +extern volatile __bit GO __attribute__((address(0xF9))); + + +extern volatile __bit GO_DONE __attribute__((address(0xF9))); + + +extern volatile __bit GO_nDONE __attribute__((address(0xF9))); + + +extern volatile __bit HTS __attribute__((address(0x47A))); + + +extern volatile __bit I2C_DATA __attribute__((address(0x4A5))); + + +extern volatile __bit I2C_READ __attribute__((address(0x4A2))); + + +extern volatile __bit I2C_START __attribute__((address(0x4A3))); + + +extern volatile __bit I2C_STOP __attribute__((address(0x4A4))); + + +extern volatile __bit INTE __attribute__((address(0x5C))); + + +extern volatile __bit INTEDG __attribute__((address(0x40E))); + + +extern volatile __bit INTF __attribute__((address(0x59))); + + +extern volatile __bit IOCB0 __attribute__((address(0x4B0))); + + +extern volatile __bit IOCB1 __attribute__((address(0x4B1))); + + +extern volatile __bit IOCB2 __attribute__((address(0x4B2))); + + +extern volatile __bit IOCB3 __attribute__((address(0x4B3))); + + +extern volatile __bit IOCB4 __attribute__((address(0x4B4))); + + +extern volatile __bit IOCB5 __attribute__((address(0x4B5))); + + +extern volatile __bit IOCB6 __attribute__((address(0x4B6))); + + +extern volatile __bit IOCB7 __attribute__((address(0x4B7))); + + +extern volatile __bit IRCF0 __attribute__((address(0x47C))); + + +extern volatile __bit IRCF1 __attribute__((address(0x47D))); + + +extern volatile __bit IRCF2 __attribute__((address(0x47E))); + + +extern volatile __bit IRP __attribute__((address(0x1F))); + + +extern volatile __bit LTS __attribute__((address(0x479))); + + +extern volatile __bit MC1OUT __attribute__((address(0x84F))); + + +extern volatile __bit MC2OUT __attribute__((address(0x84E))); + + +extern volatile __bit MSK0 __attribute__((address(0x498))); + + +extern volatile __bit MSK1 __attribute__((address(0x499))); + + +extern volatile __bit MSK2 __attribute__((address(0x49A))); + + +extern volatile __bit MSK3 __attribute__((address(0x49B))); + + +extern volatile __bit MSK4 __attribute__((address(0x49C))); + + +extern volatile __bit MSK5 __attribute__((address(0x49D))); + + +extern volatile __bit MSK6 __attribute__((address(0x49E))); + + +extern volatile __bit MSK7 __attribute__((address(0x49F))); + + +extern volatile __bit OERR __attribute__((address(0xC1))); + + +extern volatile __bit OSFIE __attribute__((address(0x46F))); + + +extern volatile __bit OSFIF __attribute__((address(0x6F))); + + +extern volatile __bit OSTS __attribute__((address(0x47B))); + + +extern volatile __bit P1M0 __attribute__((address(0xBE))); + + +extern volatile __bit P1M1 __attribute__((address(0xBF))); + + +extern volatile __bit PDC0 __attribute__((address(0x4D8))); + + +extern volatile __bit PDC1 __attribute__((address(0x4D9))); + + +extern volatile __bit PDC2 __attribute__((address(0x4DA))); + + +extern volatile __bit PDC3 __attribute__((address(0x4DB))); + + +extern volatile __bit PDC4 __attribute__((address(0x4DC))); + + +extern volatile __bit PDC5 __attribute__((address(0x4DD))); + + +extern volatile __bit PDC6 __attribute__((address(0x4DE))); + + +extern volatile __bit PEIE __attribute__((address(0x5E))); + + +extern volatile __bit PEN __attribute__((address(0x48A))); + + +extern volatile __bit PRSEN __attribute__((address(0x4DF))); + + +extern volatile __bit PS0 __attribute__((address(0x408))); + + +extern volatile __bit PS1 __attribute__((address(0x409))); + + +extern volatile __bit PS2 __attribute__((address(0x40A))); + + +extern volatile __bit PSA __attribute__((address(0x40B))); + + +extern volatile __bit PSSAC0 __attribute__((address(0x4E2))); + + +extern volatile __bit PSSAC1 __attribute__((address(0x4E3))); + + +extern volatile __bit PSSBD0 __attribute__((address(0x4E0))); + + +extern volatile __bit PSSBD1 __attribute__((address(0x4E1))); + + +extern volatile __bit PULSR __attribute__((address(0xC2A))); + + +extern volatile __bit PULSS __attribute__((address(0xC2B))); + + +extern volatile __bit RA0 __attribute__((address(0x28))); + + +extern volatile __bit RA1 __attribute__((address(0x29))); + + +extern volatile __bit RA2 __attribute__((address(0x2A))); + + +extern volatile __bit RA3 __attribute__((address(0x2B))); + + +extern volatile __bit RA4 __attribute__((address(0x2C))); + + +extern volatile __bit RA5 __attribute__((address(0x2D))); + + +extern volatile __bit RA6 __attribute__((address(0x2E))); + + +extern volatile __bit RA7 __attribute__((address(0x2F))); + + +extern volatile __bit RB0 __attribute__((address(0x30))); + + +extern volatile __bit RB1 __attribute__((address(0x31))); + + +extern volatile __bit RB2 __attribute__((address(0x32))); + + +extern volatile __bit RB3 __attribute__((address(0x33))); + + +extern volatile __bit RB4 __attribute__((address(0x34))); + + +extern volatile __bit RB5 __attribute__((address(0x35))); + + +extern volatile __bit RB6 __attribute__((address(0x36))); + + +extern volatile __bit RB7 __attribute__((address(0x37))); + + +extern volatile __bit RBIE __attribute__((address(0x5B))); + + +extern volatile __bit RBIF __attribute__((address(0x58))); + + +extern volatile __bit RC0 __attribute__((address(0x38))); + + +extern volatile __bit RC1 __attribute__((address(0x39))); + + +extern volatile __bit RC2 __attribute__((address(0x3A))); + + +extern volatile __bit RC3 __attribute__((address(0x3B))); + + +extern volatile __bit RC4 __attribute__((address(0x3C))); + + +extern volatile __bit RC5 __attribute__((address(0x3D))); + + +extern volatile __bit RC6 __attribute__((address(0x3E))); + + +extern volatile __bit RC7 __attribute__((address(0x3F))); + + +extern volatile __bit RC8_9 __attribute__((address(0xC6))); + + +extern volatile __bit RC9 __attribute__((address(0xC6))); + + +extern volatile __bit RCD8 __attribute__((address(0xC0))); + + +extern volatile __bit RCEN __attribute__((address(0x48B))); + + +extern volatile __bit RCIDL __attribute__((address(0xC3E))); + + +extern volatile __bit RCIE __attribute__((address(0x465))); + + +extern volatile __bit RCIF __attribute__((address(0x65))); + + +extern volatile __bit RD __attribute__((address(0xC60))); + + +extern volatile __bit RD0 __attribute__((address(0x40))); + + +extern volatile __bit RD1 __attribute__((address(0x41))); + + +extern volatile __bit RD2 __attribute__((address(0x42))); + + +extern volatile __bit RD3 __attribute__((address(0x43))); + + +extern volatile __bit RD4 __attribute__((address(0x44))); + + +extern volatile __bit RD5 __attribute__((address(0x45))); + + +extern volatile __bit RD6 __attribute__((address(0x46))); + + +extern volatile __bit RD7 __attribute__((address(0x47))); + + +extern volatile __bit RE0 __attribute__((address(0x48))); + + +extern volatile __bit RE1 __attribute__((address(0x49))); + + +extern volatile __bit RE2 __attribute__((address(0x4A))); + + +extern volatile __bit RE3 __attribute__((address(0x4B))); + + +extern volatile __bit READ_WRITE __attribute__((address(0x4A2))); + + +extern volatile __bit RP0 __attribute__((address(0x1D))); + + +extern volatile __bit RP1 __attribute__((address(0x1E))); + + +extern volatile __bit RSEN __attribute__((address(0x489))); + + +extern volatile __bit RX9 __attribute__((address(0xC6))); + + +extern volatile __bit RX9D __attribute__((address(0xC0))); + + +extern volatile __bit R_W __attribute__((address(0x4A2))); + + +extern volatile __bit R_nW __attribute__((address(0x4A2))); + + +extern volatile __bit SBOREN __attribute__((address(0x474))); + + +extern volatile __bit SCKP __attribute__((address(0xC3C))); + + +extern volatile __bit SCS __attribute__((address(0x478))); + + +extern volatile __bit SEN __attribute__((address(0x488))); + + +extern volatile __bit SENDB __attribute__((address(0x4C3))); + + +extern volatile __bit SMP __attribute__((address(0x4A7))); + + +extern volatile __bit SPEN __attribute__((address(0xC7))); + + +extern volatile __bit SR0 __attribute__((address(0xC2E))); + + +extern volatile __bit SR1 __attribute__((address(0xC2F))); + + +extern volatile __bit SREN __attribute__((address(0xC5))); + + +extern volatile __bit SSPEN __attribute__((address(0xA5))); + + +extern volatile __bit SSPIE __attribute__((address(0x463))); + + +extern volatile __bit SSPIF __attribute__((address(0x63))); + + +extern volatile __bit SSPM0 __attribute__((address(0xA0))); + + +extern volatile __bit SSPM1 __attribute__((address(0xA1))); + + +extern volatile __bit SSPM2 __attribute__((address(0xA2))); + + +extern volatile __bit SSPM3 __attribute__((address(0xA3))); + + +extern volatile __bit SSPOV __attribute__((address(0xA6))); + + +extern volatile __bit STRA __attribute__((address(0x4E8))); + + +extern volatile __bit STRB __attribute__((address(0x4E9))); + + +extern volatile __bit STRC __attribute__((address(0x4EA))); + + +extern volatile __bit STRD __attribute__((address(0x4EB))); + + +extern volatile __bit STRSYNC __attribute__((address(0x4EC))); + + +extern volatile __bit SWDTEN __attribute__((address(0x828))); + + +extern volatile __bit SYNC __attribute__((address(0x4C4))); + + +extern volatile __bit T0CS __attribute__((address(0x40D))); + + +extern volatile __bit T0IE __attribute__((address(0x5D))); + + +extern volatile __bit T0IF __attribute__((address(0x5A))); + + +extern volatile __bit T0SE __attribute__((address(0x40C))); + + +extern volatile __bit T1CKPS0 __attribute__((address(0x84))); + + +extern volatile __bit T1CKPS1 __attribute__((address(0x85))); + + +extern volatile __bit T1GINV __attribute__((address(0x87))); + + +extern volatile __bit T1GIV __attribute__((address(0x87))); + + +extern volatile __bit T1GSS __attribute__((address(0x849))); + + +extern volatile __bit T1INSYNC __attribute__((address(0x82))); + + +extern volatile __bit T1OSCEN __attribute__((address(0x83))); + + +extern volatile __bit T1SYNC __attribute__((address(0x82))); + + +extern volatile __bit T2CKPS0 __attribute__((address(0x90))); + + +extern volatile __bit T2CKPS1 __attribute__((address(0x91))); + + +extern volatile __bit TMR0IE __attribute__((address(0x5D))); + + +extern volatile __bit TMR0IF __attribute__((address(0x5A))); + + +extern volatile __bit TMR1CS __attribute__((address(0x81))); + + +extern volatile __bit TMR1GE __attribute__((address(0x86))); + + +extern volatile __bit TMR1IE __attribute__((address(0x460))); + + +extern volatile __bit TMR1IF __attribute__((address(0x60))); + + +extern volatile __bit TMR1ON __attribute__((address(0x80))); + + +extern volatile __bit TMR2IE __attribute__((address(0x461))); + + +extern volatile __bit TMR2IF __attribute__((address(0x61))); + + +extern volatile __bit TMR2ON __attribute__((address(0x92))); + + +extern volatile __bit TOUTPS0 __attribute__((address(0x93))); + + +extern volatile __bit TOUTPS1 __attribute__((address(0x94))); + + +extern volatile __bit TOUTPS2 __attribute__((address(0x95))); + + +extern volatile __bit TOUTPS3 __attribute__((address(0x96))); + + +extern volatile __bit TRISA0 __attribute__((address(0x428))); + + +extern volatile __bit TRISA1 __attribute__((address(0x429))); + + +extern volatile __bit TRISA2 __attribute__((address(0x42A))); + + +extern volatile __bit TRISA3 __attribute__((address(0x42B))); + + +extern volatile __bit TRISA4 __attribute__((address(0x42C))); + + +extern volatile __bit TRISA5 __attribute__((address(0x42D))); + + +extern volatile __bit TRISA6 __attribute__((address(0x42E))); + + +extern volatile __bit TRISA7 __attribute__((address(0x42F))); + + +extern volatile __bit TRISB0 __attribute__((address(0x430))); + + +extern volatile __bit TRISB1 __attribute__((address(0x431))); + + +extern volatile __bit TRISB2 __attribute__((address(0x432))); + + +extern volatile __bit TRISB3 __attribute__((address(0x433))); + + +extern volatile __bit TRISB4 __attribute__((address(0x434))); + + +extern volatile __bit TRISB5 __attribute__((address(0x435))); + + +extern volatile __bit TRISB6 __attribute__((address(0x436))); + + +extern volatile __bit TRISB7 __attribute__((address(0x437))); + + +extern volatile __bit TRISC0 __attribute__((address(0x438))); + + +extern volatile __bit TRISC1 __attribute__((address(0x439))); + + +extern volatile __bit TRISC2 __attribute__((address(0x43A))); + + +extern volatile __bit TRISC3 __attribute__((address(0x43B))); + + +extern volatile __bit TRISC4 __attribute__((address(0x43C))); + + +extern volatile __bit TRISC5 __attribute__((address(0x43D))); + + +extern volatile __bit TRISC6 __attribute__((address(0x43E))); + + +extern volatile __bit TRISC7 __attribute__((address(0x43F))); + + +extern volatile __bit TRISD0 __attribute__((address(0x440))); + + +extern volatile __bit TRISD1 __attribute__((address(0x441))); + + +extern volatile __bit TRISD2 __attribute__((address(0x442))); + + +extern volatile __bit TRISD3 __attribute__((address(0x443))); + + +extern volatile __bit TRISD4 __attribute__((address(0x444))); + + +extern volatile __bit TRISD5 __attribute__((address(0x445))); + + +extern volatile __bit TRISD6 __attribute__((address(0x446))); + + +extern volatile __bit TRISD7 __attribute__((address(0x447))); + + +extern volatile __bit TRISE0 __attribute__((address(0x448))); + + +extern volatile __bit TRISE1 __attribute__((address(0x449))); + + +extern volatile __bit TRISE2 __attribute__((address(0x44A))); + + +extern volatile __bit TRISE3 __attribute__((address(0x44B))); + + +extern volatile __bit TRMT __attribute__((address(0x4C1))); + + +extern volatile __bit TUN0 __attribute__((address(0x480))); + + +extern volatile __bit TUN1 __attribute__((address(0x481))); + + +extern volatile __bit TUN2 __attribute__((address(0x482))); + + +extern volatile __bit TUN3 __attribute__((address(0x483))); + + +extern volatile __bit TUN4 __attribute__((address(0x484))); + + +extern volatile __bit TX8_9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9D __attribute__((address(0x4C0))); + + +extern volatile __bit TXD8 __attribute__((address(0x4C0))); + + +extern volatile __bit TXEN __attribute__((address(0x4C5))); + + +extern volatile __bit TXIE __attribute__((address(0x464))); + + +extern volatile __bit TXIF __attribute__((address(0x64))); + + +extern volatile __bit UA __attribute__((address(0x4A1))); + + +extern volatile __bit ULPWUE __attribute__((address(0x475))); + + +extern volatile __bit ULPWUIE __attribute__((address(0x46A))); + + +extern volatile __bit ULPWUIF __attribute__((address(0x6A))); + + +extern volatile __bit VCFG0 __attribute__((address(0x4FC))); + + +extern volatile __bit VCFG1 __attribute__((address(0x4FD))); + + +extern volatile __bit VR0 __attribute__((address(0x4B8))); + + +extern volatile __bit VR1 __attribute__((address(0x4B9))); + + +extern volatile __bit VR2 __attribute__((address(0x4BA))); + + +extern volatile __bit VR3 __attribute__((address(0x4BB))); + + +extern volatile __bit VREN __attribute__((address(0x4BF))); + + +extern volatile __bit VROE __attribute__((address(0x4BE))); + + +extern volatile __bit VRR __attribute__((address(0x4BD))); + + +extern volatile __bit VRSS __attribute__((address(0x4BC))); + + +extern volatile __bit WCOL __attribute__((address(0xA7))); + + +extern volatile __bit WDTPS0 __attribute__((address(0x829))); + + +extern volatile __bit WDTPS1 __attribute__((address(0x82A))); + + +extern volatile __bit WDTPS2 __attribute__((address(0x82B))); + + +extern volatile __bit WDTPS3 __attribute__((address(0x82C))); + + +extern volatile __bit WPUB0 __attribute__((address(0x4A8))); + + +extern volatile __bit WPUB1 __attribute__((address(0x4A9))); + + +extern volatile __bit WPUB2 __attribute__((address(0x4AA))); + + +extern volatile __bit WPUB3 __attribute__((address(0x4AB))); + + +extern volatile __bit WPUB4 __attribute__((address(0x4AC))); + + +extern volatile __bit WPUB5 __attribute__((address(0x4AD))); + + +extern volatile __bit WPUB6 __attribute__((address(0x4AE))); + + +extern volatile __bit WPUB7 __attribute__((address(0x4AF))); + + +extern volatile __bit WR __attribute__((address(0xC61))); + + +extern volatile __bit WREN __attribute__((address(0xC62))); + + +extern volatile __bit WRERR __attribute__((address(0xC63))); + + +extern volatile __bit WUE __attribute__((address(0xC39))); + + +extern volatile __bit ZERO __attribute__((address(0x1A))); + + +extern volatile __bit nA __attribute__((address(0x4A5))); + + +extern volatile __bit nADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit nBO __attribute__((address(0x470))); + + +extern volatile __bit nBOR __attribute__((address(0x470))); + + +extern volatile __bit nDONE __attribute__((address(0xF9))); + + +extern volatile __bit nPD __attribute__((address(0x1B))); + + +extern volatile __bit nPOR __attribute__((address(0x471))); + + +extern volatile __bit nRBPU __attribute__((address(0x40F))); + + +extern volatile __bit nRC8 __attribute__((address(0xC6))); + + +extern volatile __bit nT1SYNC __attribute__((address(0x82))); + + +extern volatile __bit nTO __attribute__((address(0x1C))); + + +extern volatile __bit nTX8 __attribute__((address(0x4C6))); + + +extern volatile __bit nW __attribute__((address(0x4A2))); + + +extern volatile __bit nWRITE __attribute__((address(0x4A2))); +# 725 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 2 3 +# 14 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 76 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +__attribute__((__unsupported__("The " "FLASH_READ" " macro function is no longer supported. Please use the MPLAB X MCC."))) unsigned char __flash_read(unsigned short addr); + +__attribute__((__unsupported__("The " "FLASH_WRITE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_write(unsigned short addr, unsigned short data); + +__attribute__((__unsupported__("The " "FLASH_ERASE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_erase(unsigned short addr); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 1 3 +# 114 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 3 +extern void eeprom_write(unsigned char addr, unsigned char value); +extern unsigned char eeprom_read(unsigned char addr); +# 84 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 118 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +extern __bank0 unsigned char __resetbits; +extern __bank0 __bit __powerdown; +extern __bank0 __bit __timeout; +# 29 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 5 "src/../include/config.h" 2 + + + + +#pragma config FOSC = INTRC_NOCLKOUT +#pragma config WDTE = OFF +#pragma config PWRTE = ON +#pragma config MCLRE = OFF +#pragma config CP = OFF +#pragma config CPD = OFF +#pragma config BOREN = ON +#pragma config IESO = OFF +#pragma config FCMEN = OFF +#pragma config LVP = OFF +#pragma config BOR4V = BOR40V +#pragma config WRT = OFF +# 4 "src/main.c" 2 + + +# 1 "src/../include/initialisation.h" 1 +# 13 "src/../include/initialisation.h" + typedef enum { ON = 0, OFF = 1 } PinStates; + + + + +typedef enum { OUTPUT = 0, INPUT = 1 } PinDirection; +typedef enum { DIGITAL = 0, ANALOG = 1 } PinMode; + +typedef enum { + A0 = TRISAbits.TRISA0, + A1 = TRISAbits.TRISA1, + A2 = TRISAbits.TRISA2, + A3 = TRISAbits.TRISA3, + A4 = TRISAbits.TRISA4, + A5 = TRISAbits.TRISA5, +} TRIS; + +typedef struct { + volatile uint8_t* tris; + volatile uint8_t* lat; + volatile uint8_t* ansel; + PinDirection direction; + PinMode mode; +} PinConfig; + + +typedef enum { CONFIG_FOSC = 0, INTERNAL_FOSC = 1 } OscStartupTime; +typedef enum { CONFIG_CLK = 0, INTERNAL_CLK = 1 } SysClockSelect; +typedef enum { HTS_UNSTABLE = 0, HTS_STABLE = 1 } HFINTOSCStatus; +typedef enum { LTS_UNSTABLE = 0, LTS_STABLE = 1 } LFINTOSCStable; +typedef enum { + KHZ032 = 0b000, + KHZ125 = 0b001, + KHZ250 = 0b010, + KHZ500 = 0b011, + MHZ001 = 0b100, + MHZ002 = 0b101, + MHZ004 = 0b110, + MHZ008 = 0b111 +} InternalFrequency; + +typedef struct { + SysClockSelect SCS; + InternalFrequency IRCF; + OscStartupTime OSTS; +} OscillatorConfig; + + +typedef enum { GIE_DISABLED = 0, GIE_ENABLED = 1 } GlobalInterrupt; +typedef enum { EINT_DISABLED = 0, EINT_ENABLED = 1 } ExternalInterrupt; +typedef enum { PEIE_DISABLED = 0, PEIE_ENABLED = 1 } PeripheralInterrupt; +typedef enum { T0INT_DISABLED = 0, T0INT_ENABLED = 1 } Timer0OverflowInterrupt; +typedef enum { RBINT_DISABLED = 0, RBINT_ENABLED = 1 } PortBInterrupt; +typedef enum { FALLING_EDGE = 0, RISING_EDGE = 1 } InterruptEdge; +typedef enum { INT_AWAITING = 0, INT_OCCURED = 1 } InterruptFlag; + +typedef struct { + GlobalInterrupt GIE; + ExternalInterrupt EINT; + PeripheralInterrupt PEIE; + Timer0OverflowInterrupt T0IE; + PortBInterrupt RBIE; + InterruptEdge INTEDG; +} InterruptConfig; + + +typedef enum { ADC_OFF = 0, ADC_ON = 1 } ADCEnable; +typedef enum { VREF_MINPIN = 0, VREF_VSS = 1 } ADCVoltageReference1; +typedef enum { VREF_PLUSPIN = 0, VREF_VDD = 1 } ADCVoltageReference0; +typedef enum { ADC_LEFT = 0, ADC_RIGHT = 1 } ADCResultFormat; +typedef enum { ADC_DONE = 0, ADC_IN_PROGRESS = 1 } ADCConversionStatus; +typedef enum { + ADC_AN00 = 0b0000, + ADC_AN01 = 0b0001, + ADC_AN02 = 0b0010, + ADC_AN03 = 0b0011, + ADC_AN04 = 0b0100, + ADC_AN05 = 0b0101, + ADC_AN06 = 0b0110, + ADC_AN07 = 0b0111, + ADC_AN08 = 0b1000, + ADC_AN09 = 0b1001, + ADC_AN10 = 0b1010, + ADC_AN11 = 0b1011, + ADC_AN12 = 0b1100, + ADC_AN13 = 0b1101, + ADC_CVREF = 0b1110, + ADC_FXREF = 0b1111 +} ADCChannelSelect; + +typedef enum { + ADC_FOSC02 = 0b00, + ADC_FOSC08 = 0b01, + ADC_FOSC32 = 0b10, + ADC_INTOSC = 0b11 +} ADCConversionClock; + +typedef struct { + ADCEnable ADON; + ADCResultFormat ADFM; + ADCChannelSelect CHS; + ADCConversionClock ADCS; + ADCVoltageReference0 VCFG0; + ADCVoltageReference1 VCFG1; + ADCConversionStatus GO_nDONE; +} ADCConfig; + + + +void init_osc(OscillatorConfig config); +void init_int(InterruptConfig config); +void init_adc(ADCConfig config); +void init_gpio2(PinConfig* ports); +# 6 "src/main.c" 2 + +# 1 "src/../include/rotary_encoder.h" 1 + + + +typedef enum { ROTATE_LEFT = 1, ROTATE_RIGHT = 2 } RotaryEncoderStates; + + +void parse_rotary(char pinA, char pinB, char *counter, char max, char min); +# 7 "src/main.c" 2 + +# 1 "src/../include/potentiometer.h" 1 + + + +void populate_step_array(int *array, int size, int potLimit); +int read_potentiometer(void); +# 8 "src/main.c" 2 + + +char count = 0; + + +void pic_init(void); +void init_gpio(void); + +void pic_loop(void); + +void main(void) { + + pic_init(); + + pic_loop(); +} + +void pic_loop(void) { + + int stepArray[4] = {0}; + populate_step_array(stepArray, 4, 1023); + + while (1) { + + int result = read_potentiometer(); + + + + + + for (int i = 0; i < 4; i++) { + if (result > (stepArray[i] - 2)) { + PORTA = (unsigned char)(PORTA & ~(1 << i)); + } else if (result <= (stepArray[i] - 2)) { + PORTA = (unsigned char)(PORTA | (1 << i)); + } + } + } +} + +void pic_init(void) { + ADCConfig adc_config = { ADC_ON, ADC_RIGHT, ADC_AN07, ADC_FOSC02, + VREF_PLUSPIN, VREF_MINPIN, ADC_IN_PROGRESS }; + OscillatorConfig osc_config = { INTERNAL_CLK, KHZ500, INTERNAL_FOSC }; + InterruptConfig int_config = { GIE_ENABLED, EINT_ENABLED, PEIE_DISABLED, + T0INT_DISABLED, RBINT_ENABLED, RISING_EDGE }; + + PinConfig pin_config[] = { + { &TRISA, &PORTA, &ANSEL, OUTPUT, DIGITAL }, + { &TRISB, &PORTB, &ANSELH, INPUT, DIGITAL }, + + { &TRISEbits.TRISE2, &PORTE, &ANSELH, INPUT, ANALOG } + }; + + init_osc(osc_config); + init_int(int_config); + init_adc(adc_config); + + init_gpio(); +} + + + +void init_gpio(void) { + + + + + TRISA = 0; + PORTA = OFF; + + TRISBbits.TRISB4 = 1; + TRISBbits.TRISB5 = 1; + + + TRISEbits.TRISE2 = 1; + + + ANSEL = 0; + ANSELH = 0; + ANSELbits.ANS7 = 1; +} + + +void __attribute__((picinterrupt(("")))) isr(void) { + if (INTCONbits.RBIF == 1) { + + parse_rotary(PORTBbits.RB4, PORTBbits.RB5, &count, 4, 0); + PORTA = (unsigned char) (~(1 << count)); + + + INTCONbits.RBIF = INT_AWAITING; + INTCONbits.INTF = INT_AWAITING; + } +} diff --git a/build/default/production/src/potentiometer.i b/build/default/production/src/potentiometer.i new file mode 100644 index 0000000..bc727c9 --- /dev/null +++ b/build/default/production/src/potentiometer.i @@ -0,0 +1,2715 @@ +# 1 "src/potentiometer.c" +# 1 "" 1 +# 1 "" 3 +# 288 "" 3 +# 1 "" 1 +# 1 "" 2 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\language_support.h" 1 3 +# 2 "" 2 +# 1 "src/potentiometer.c" 2 +# 1 "src/../include/config.h" 1 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 18 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 3 +extern const char __xc8_OPTIM_SPEED; + +extern double __fpnormalize(double); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\musl_xc8.h" 1 3 +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + + + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\features.h" 1 3 +# 11 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 +# 21 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 24 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int wchar_t; +# 128 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned size_t; +# 174 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __int24 int24_t; +# 210 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __uint24 uint24_t; +# 22 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + +int atoi (const char *); +long atol (const char *); + + + +double atof (const char *); + + +float strtof (const char *restrict, char **restrict); +double strtod (const char *restrict, char **restrict); +long double strtold (const char *restrict, char **restrict); + + + +long strtol (const char *restrict, char **restrict, int); +unsigned long strtoul (const char *restrict, char **restrict, int); + + + + + +unsigned long __strtoxl(const char * s, char ** endptr, int base, char is_signed); +# 55 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +int rand (void); +void srand (unsigned); + +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); + + void abort (void); +int atexit (void (*) (void)); + void exit (int); + void _Exit (int); + +void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); + + + + + + + +__attribute__((nonreentrant)) void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); + +int abs (int); +long labs (long); + + + + +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; + + + + +div_t div (int, int); +ldiv_t ldiv (long, long); + + + + +typedef struct { unsigned int quot, rem; } udiv_t; +typedef struct { unsigned long quot, rem; } uldiv_t; +udiv_t udiv (unsigned int, unsigned int); +uldiv_t uldiv (unsigned long, unsigned long); +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 2 3 + + + + + + + +#pragma intrinsic(__builtin_software_breakpoint) +extern void __builtin_software_breakpoint(void); +# 24 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 1 3 +# 26 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 133 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned short uintptr_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef short intptr_t; +# 164 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef signed char int8_t; + + + + +typedef short int16_t; +# 179 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int32_t; +# 192 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef int32_t intmax_t; + + + + + + + +typedef unsigned char uint8_t; + + + + +typedef unsigned short uint16_t; +# 215 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned long uint32_t; +# 233 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef uint32_t uintmax_t; +# 27 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 + +typedef int8_t int_fast8_t; + + + + +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; + +typedef int24_t int_least24_t; +typedef int24_t int_fast24_t; + +typedef int32_t int_least32_t; + + + + +typedef uint8_t uint_fast8_t; + + + + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; + +typedef uint24_t uint_least24_t; +typedef uint24_t uint_fast24_t; + +typedef uint32_t uint_least32_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/stdint.h" 1 3 +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +# 149 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 2 3 + + +#pragma intrinsic(__nop) +extern void __nop(void); + + +#pragma intrinsic(_delay) +extern __attribute__((nonreentrant)) void _delay(uint32_t); +#pragma intrinsic(_delaywdt) +extern __attribute__((nonreentrant)) void _delaywdt(uint32_t); +# 25 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 1 3 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 1 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 2 3 +# 6 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 + + + + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 1 3 +# 724 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 1 3 +# 44 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\__at.h" 1 3 +# 45 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 2 3 + + + + + + + +extern volatile unsigned char INDF __attribute__((address(0x000))); + +__asm("INDF equ 00h"); + + + + +extern volatile unsigned char TMR0 __attribute__((address(0x001))); + +__asm("TMR0 equ 01h"); + + + + +extern volatile unsigned char PCL __attribute__((address(0x002))); + +__asm("PCL equ 02h"); + + + + +extern volatile unsigned char STATUS __attribute__((address(0x003))); + +__asm("STATUS equ 03h"); + + +typedef union { + struct { + unsigned C :1; + unsigned DC :1; + unsigned Z :1; + unsigned nPD :1; + unsigned nTO :1; + unsigned RP :2; + unsigned IRP :1; + }; + struct { + unsigned :5; + unsigned RP0 :1; + unsigned RP1 :1; + }; + struct { + unsigned CARRY :1; + unsigned :1; + unsigned ZERO :1; + }; +} STATUSbits_t; +extern volatile STATUSbits_t STATUSbits __attribute__((address(0x003))); +# 159 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char FSR __attribute__((address(0x004))); + +__asm("FSR equ 04h"); + + + + +extern volatile unsigned char PORTA __attribute__((address(0x005))); + +__asm("PORTA equ 05h"); + + +typedef union { + struct { + unsigned RA0 :1; + unsigned RA1 :1; + unsigned RA2 :1; + unsigned RA3 :1; + unsigned RA4 :1; + unsigned RA5 :1; + unsigned RA6 :1; + unsigned RA7 :1; + }; +} PORTAbits_t; +extern volatile PORTAbits_t PORTAbits __attribute__((address(0x005))); +# 228 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTB __attribute__((address(0x006))); + +__asm("PORTB equ 06h"); + + +typedef union { + struct { + unsigned RB0 :1; + unsigned RB1 :1; + unsigned RB2 :1; + unsigned RB3 :1; + unsigned RB4 :1; + unsigned RB5 :1; + unsigned RB6 :1; + unsigned RB7 :1; + }; +} PORTBbits_t; +extern volatile PORTBbits_t PORTBbits __attribute__((address(0x006))); +# 290 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTC __attribute__((address(0x007))); + +__asm("PORTC equ 07h"); + + +typedef union { + struct { + unsigned RC0 :1; + unsigned RC1 :1; + unsigned RC2 :1; + unsigned RC3 :1; + unsigned RC4 :1; + unsigned RC5 :1; + unsigned RC6 :1; + unsigned RC7 :1; + }; +} PORTCbits_t; +extern volatile PORTCbits_t PORTCbits __attribute__((address(0x007))); +# 352 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTD __attribute__((address(0x008))); + +__asm("PORTD equ 08h"); + + +typedef union { + struct { + unsigned RD0 :1; + unsigned RD1 :1; + unsigned RD2 :1; + unsigned RD3 :1; + unsigned RD4 :1; + unsigned RD5 :1; + unsigned RD6 :1; + unsigned RD7 :1; + }; +} PORTDbits_t; +extern volatile PORTDbits_t PORTDbits __attribute__((address(0x008))); +# 414 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTE __attribute__((address(0x009))); + +__asm("PORTE equ 09h"); + + +typedef union { + struct { + unsigned RE0 :1; + unsigned RE1 :1; + unsigned RE2 :1; + unsigned RE3 :1; + }; +} PORTEbits_t; +extern volatile PORTEbits_t PORTEbits __attribute__((address(0x009))); +# 452 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCLATH __attribute__((address(0x00A))); + +__asm("PCLATH equ 0Ah"); + + + + +extern volatile unsigned char INTCON __attribute__((address(0x00B))); + +__asm("INTCON equ 0Bh"); + + +typedef union { + struct { + unsigned RBIF :1; + unsigned INTF :1; + unsigned T0IF :1; + unsigned RBIE :1; + unsigned INTE :1; + unsigned T0IE :1; + unsigned PEIE :1; + unsigned GIE :1; + }; + struct { + unsigned :2; + unsigned TMR0IF :1; + unsigned :2; + unsigned TMR0IE :1; + }; +} INTCONbits_t; +extern volatile INTCONbits_t INTCONbits __attribute__((address(0x00B))); +# 537 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR1 __attribute__((address(0x00C))); + +__asm("PIR1 equ 0Ch"); + + +typedef union { + struct { + unsigned TMR1IF :1; + unsigned TMR2IF :1; + unsigned CCP1IF :1; + unsigned SSPIF :1; + unsigned TXIF :1; + unsigned RCIF :1; + unsigned ADIF :1; + }; +} PIR1bits_t; +extern volatile PIR1bits_t PIR1bits __attribute__((address(0x00C))); +# 593 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR2 __attribute__((address(0x00D))); + +__asm("PIR2 equ 0Dh"); + + +typedef union { + struct { + unsigned CCP2IF :1; + unsigned :1; + unsigned ULPWUIF :1; + unsigned BCLIF :1; + unsigned EEIF :1; + unsigned C1IF :1; + unsigned C2IF :1; + unsigned OSFIF :1; + }; +} PIR2bits_t; +extern volatile PIR2bits_t PIR2bits __attribute__((address(0x00D))); +# 650 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short TMR1 __attribute__((address(0x00E))); + +__asm("TMR1 equ 0Eh"); + + + + +extern volatile unsigned char TMR1L __attribute__((address(0x00E))); + +__asm("TMR1L equ 0Eh"); + + + + +extern volatile unsigned char TMR1H __attribute__((address(0x00F))); + +__asm("TMR1H equ 0Fh"); + + + + +extern volatile unsigned char T1CON __attribute__((address(0x010))); + +__asm("T1CON equ 010h"); + + +typedef union { + struct { + unsigned TMR1ON :1; + unsigned TMR1CS :1; + unsigned nT1SYNC :1; + unsigned T1OSCEN :1; + unsigned T1CKPS :2; + unsigned TMR1GE :1; + unsigned T1GINV :1; + }; + struct { + unsigned :2; + unsigned T1INSYNC :1; + unsigned :1; + unsigned T1CKPS0 :1; + unsigned T1CKPS1 :1; + unsigned :1; + unsigned T1GIV :1; + }; + struct { + unsigned :2; + unsigned T1SYNC :1; + }; +} T1CONbits_t; +extern volatile T1CONbits_t T1CONbits __attribute__((address(0x010))); +# 765 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TMR2 __attribute__((address(0x011))); + +__asm("TMR2 equ 011h"); + + + + +extern volatile unsigned char T2CON __attribute__((address(0x012))); + +__asm("T2CON equ 012h"); + + +typedef union { + struct { + unsigned T2CKPS :2; + unsigned TMR2ON :1; + unsigned TOUTPS :4; + }; + struct { + unsigned T2CKPS0 :1; + unsigned T2CKPS1 :1; + unsigned :1; + unsigned TOUTPS0 :1; + unsigned TOUTPS1 :1; + unsigned TOUTPS2 :1; + unsigned TOUTPS3 :1; + }; +} T2CONbits_t; +extern volatile T2CONbits_t T2CONbits __attribute__((address(0x012))); +# 843 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPBUF __attribute__((address(0x013))); + +__asm("SSPBUF equ 013h"); + + + + +extern volatile unsigned char SSPCON __attribute__((address(0x014))); + +__asm("SSPCON equ 014h"); + + +typedef union { + struct { + unsigned SSPM :4; + unsigned CKP :1; + unsigned SSPEN :1; + unsigned SSPOV :1; + unsigned WCOL :1; + }; + struct { + unsigned SSPM0 :1; + unsigned SSPM1 :1; + unsigned SSPM2 :1; + unsigned SSPM3 :1; + }; +} SSPCONbits_t; +extern volatile SSPCONbits_t SSPCONbits __attribute__((address(0x014))); +# 920 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short CCPR1 __attribute__((address(0x015))); + +__asm("CCPR1 equ 015h"); + + + + +extern volatile unsigned char CCPR1L __attribute__((address(0x015))); + +__asm("CCPR1L equ 015h"); + + + + +extern volatile unsigned char CCPR1H __attribute__((address(0x016))); + +__asm("CCPR1H equ 016h"); + + + + +extern volatile unsigned char CCP1CON __attribute__((address(0x017))); + +__asm("CCP1CON equ 017h"); + + +typedef union { + struct { + unsigned CCP1M :4; + unsigned DC1B :2; + unsigned P1M :2; + }; + struct { + unsigned CCP1M0 :1; + unsigned CCP1M1 :1; + unsigned CCP1M2 :1; + unsigned CCP1M3 :1; + unsigned DC1B0 :1; + unsigned DC1B1 :1; + unsigned P1M0 :1; + unsigned P1M1 :1; + }; + struct { + unsigned :4; + unsigned CCP1Y :1; + unsigned CCP1X :1; + }; +} CCP1CONbits_t; +extern volatile CCP1CONbits_t CCP1CONbits __attribute__((address(0x017))); +# 1038 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char RCSTA __attribute__((address(0x018))); + +__asm("RCSTA equ 018h"); + + +typedef union { + struct { + unsigned RX9D :1; + unsigned OERR :1; + unsigned FERR :1; + unsigned ADDEN :1; + unsigned CREN :1; + unsigned SREN :1; + unsigned RX9 :1; + unsigned SPEN :1; + }; + struct { + unsigned RCD8 :1; + unsigned :5; + unsigned RC9 :1; + }; + struct { + unsigned :6; + unsigned nRC8 :1; + }; + struct { + unsigned :6; + unsigned RC8_9 :1; + }; +} RCSTAbits_t; +extern volatile RCSTAbits_t RCSTAbits __attribute__((address(0x018))); +# 1133 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXREG __attribute__((address(0x019))); + +__asm("TXREG equ 019h"); + + + + +extern volatile unsigned char RCREG __attribute__((address(0x01A))); + +__asm("RCREG equ 01Ah"); + + + + +extern volatile unsigned short CCPR2 __attribute__((address(0x01B))); + +__asm("CCPR2 equ 01Bh"); + + + + +extern volatile unsigned char CCPR2L __attribute__((address(0x01B))); + +__asm("CCPR2L equ 01Bh"); + + + + +extern volatile unsigned char CCPR2H __attribute__((address(0x01C))); + +__asm("CCPR2H equ 01Ch"); + + + + +extern volatile unsigned char CCP2CON __attribute__((address(0x01D))); + +__asm("CCP2CON equ 01Dh"); + + +typedef union { + struct { + unsigned CCP2M :4; + unsigned DC2B0 :1; + unsigned DC2B1 :1; + }; + struct { + unsigned CCP2M0 :1; + unsigned CCP2M1 :1; + unsigned CCP2M2 :1; + unsigned CCP2M3 :1; + unsigned CCP2Y :1; + unsigned CCP2X :1; + }; +} CCP2CONbits_t; +extern volatile CCP2CONbits_t CCP2CONbits __attribute__((address(0x01D))); +# 1238 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESH __attribute__((address(0x01E))); + +__asm("ADRESH equ 01Eh"); + + + + +extern volatile unsigned char ADCON0 __attribute__((address(0x01F))); + +__asm("ADCON0 equ 01Fh"); + + +typedef union { + struct { + unsigned ADON :1; + unsigned GO_nDONE :1; + unsigned CHS :4; + unsigned ADCS :2; + }; + struct { + unsigned :1; + unsigned GO :1; + unsigned CHS0 :1; + unsigned CHS1 :1; + unsigned CHS2 :1; + unsigned CHS3 :1; + unsigned ADCS0 :1; + unsigned ADCS1 :1; + }; + struct { + unsigned :1; + unsigned nDONE :1; + }; + struct { + unsigned :1; + unsigned GO_DONE :1; + }; +} ADCON0bits_t; +extern volatile ADCON0bits_t ADCON0bits __attribute__((address(0x01F))); +# 1346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OPTION_REG __attribute__((address(0x081))); + +__asm("OPTION_REG equ 081h"); + + +typedef union { + struct { + unsigned PS :3; + unsigned PSA :1; + unsigned T0SE :1; + unsigned T0CS :1; + unsigned INTEDG :1; + unsigned nRBPU :1; + }; + struct { + unsigned PS0 :1; + unsigned PS1 :1; + unsigned PS2 :1; + }; +} OPTION_REGbits_t; +extern volatile OPTION_REGbits_t OPTION_REGbits __attribute__((address(0x081))); +# 1416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISA __attribute__((address(0x085))); + +__asm("TRISA equ 085h"); + + +typedef union { + struct { + unsigned TRISA0 :1; + unsigned TRISA1 :1; + unsigned TRISA2 :1; + unsigned TRISA3 :1; + unsigned TRISA4 :1; + unsigned TRISA5 :1; + unsigned TRISA6 :1; + unsigned TRISA7 :1; + }; +} TRISAbits_t; +extern volatile TRISAbits_t TRISAbits __attribute__((address(0x085))); +# 1478 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISB __attribute__((address(0x086))); + +__asm("TRISB equ 086h"); + + +typedef union { + struct { + unsigned TRISB0 :1; + unsigned TRISB1 :1; + unsigned TRISB2 :1; + unsigned TRISB3 :1; + unsigned TRISB4 :1; + unsigned TRISB5 :1; + unsigned TRISB6 :1; + unsigned TRISB7 :1; + }; +} TRISBbits_t; +extern volatile TRISBbits_t TRISBbits __attribute__((address(0x086))); +# 1540 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISC __attribute__((address(0x087))); + +__asm("TRISC equ 087h"); + + +typedef union { + struct { + unsigned TRISC0 :1; + unsigned TRISC1 :1; + unsigned TRISC2 :1; + unsigned TRISC3 :1; + unsigned TRISC4 :1; + unsigned TRISC5 :1; + unsigned TRISC6 :1; + unsigned TRISC7 :1; + }; +} TRISCbits_t; +extern volatile TRISCbits_t TRISCbits __attribute__((address(0x087))); +# 1602 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISD __attribute__((address(0x088))); + +__asm("TRISD equ 088h"); + + +typedef union { + struct { + unsigned TRISD0 :1; + unsigned TRISD1 :1; + unsigned TRISD2 :1; + unsigned TRISD3 :1; + unsigned TRISD4 :1; + unsigned TRISD5 :1; + unsigned TRISD6 :1; + unsigned TRISD7 :1; + }; +} TRISDbits_t; +extern volatile TRISDbits_t TRISDbits __attribute__((address(0x088))); +# 1664 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISE __attribute__((address(0x089))); + +__asm("TRISE equ 089h"); + + +typedef union { + struct { + unsigned TRISE0 :1; + unsigned TRISE1 :1; + unsigned TRISE2 :1; + unsigned TRISE3 :1; + }; +} TRISEbits_t; +extern volatile TRISEbits_t TRISEbits __attribute__((address(0x089))); +# 1702 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE1 __attribute__((address(0x08C))); + +__asm("PIE1 equ 08Ch"); + + +typedef union { + struct { + unsigned TMR1IE :1; + unsigned TMR2IE :1; + unsigned CCP1IE :1; + unsigned SSPIE :1; + unsigned TXIE :1; + unsigned RCIE :1; + unsigned ADIE :1; + }; +} PIE1bits_t; +extern volatile PIE1bits_t PIE1bits __attribute__((address(0x08C))); +# 1758 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE2 __attribute__((address(0x08D))); + +__asm("PIE2 equ 08Dh"); + + +typedef union { + struct { + unsigned CCP2IE :1; + unsigned :1; + unsigned ULPWUIE :1; + unsigned BCLIE :1; + unsigned EEIE :1; + unsigned C1IE :1; + unsigned C2IE :1; + unsigned OSFIE :1; + }; +} PIE2bits_t; +extern volatile PIE2bits_t PIE2bits __attribute__((address(0x08D))); +# 1815 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCON __attribute__((address(0x08E))); + +__asm("PCON equ 08Eh"); + + +typedef union { + struct { + unsigned nBOR :1; + unsigned nPOR :1; + unsigned :2; + unsigned SBOREN :1; + unsigned ULPWUE :1; + }; + struct { + unsigned nBO :1; + }; +} PCONbits_t; +extern volatile PCONbits_t PCONbits __attribute__((address(0x08E))); +# 1862 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCCON __attribute__((address(0x08F))); + +__asm("OSCCON equ 08Fh"); + + +typedef union { + struct { + unsigned SCS :1; + unsigned LTS :1; + unsigned HTS :1; + unsigned OSTS :1; + unsigned IRCF :3; + }; + struct { + unsigned :4; + unsigned IRCF0 :1; + unsigned IRCF1 :1; + unsigned IRCF2 :1; + }; +} OSCCONbits_t; +extern volatile OSCCONbits_t OSCCONbits __attribute__((address(0x08F))); +# 1927 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCTUNE __attribute__((address(0x090))); + +__asm("OSCTUNE equ 090h"); + + +typedef union { + struct { + unsigned TUN :5; + }; + struct { + unsigned TUN0 :1; + unsigned TUN1 :1; + unsigned TUN2 :1; + unsigned TUN3 :1; + unsigned TUN4 :1; + }; +} OSCTUNEbits_t; +extern volatile OSCTUNEbits_t OSCTUNEbits __attribute__((address(0x090))); +# 1979 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPCON2 __attribute__((address(0x091))); + +__asm("SSPCON2 equ 091h"); + + +typedef union { + struct { + unsigned SEN :1; + unsigned RSEN :1; + unsigned PEN :1; + unsigned RCEN :1; + unsigned ACKEN :1; + unsigned ACKDT :1; + unsigned ACKSTAT :1; + unsigned GCEN :1; + }; +} SSPCON2bits_t; +extern volatile SSPCON2bits_t SSPCON2bits __attribute__((address(0x091))); +# 2041 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PR2 __attribute__((address(0x092))); + +__asm("PR2 equ 092h"); + + + + +extern volatile unsigned char SSPADD __attribute__((address(0x093))); + +__asm("SSPADD equ 093h"); + + + + +extern volatile unsigned char SSPMSK __attribute__((address(0x093))); + +__asm("SSPMSK equ 093h"); + + +extern volatile unsigned char MSK __attribute__((address(0x093))); + +__asm("MSK equ 093h"); + + +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} SSPMSKbits_t; +extern volatile SSPMSKbits_t SSPMSKbits __attribute__((address(0x093))); +# 2120 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} MSKbits_t; +extern volatile MSKbits_t MSKbits __attribute__((address(0x093))); +# 2177 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPSTAT __attribute__((address(0x094))); + +__asm("SSPSTAT equ 094h"); + + +typedef union { + struct { + unsigned BF :1; + unsigned UA :1; + unsigned R_nW :1; + unsigned S :1; + unsigned P :1; + unsigned D_nA :1; + unsigned CKE :1; + unsigned SMP :1; + }; + struct { + unsigned :2; + unsigned R :1; + unsigned :2; + unsigned D :1; + }; + struct { + unsigned :2; + unsigned I2C_READ :1; + unsigned I2C_START :1; + unsigned I2C_STOP :1; + unsigned I2C_DATA :1; + }; + struct { + unsigned :2; + unsigned nW :1; + unsigned :2; + unsigned nA :1; + }; + struct { + unsigned :2; + unsigned nWRITE :1; + unsigned :2; + unsigned nADDRESS :1; + }; + struct { + unsigned :2; + unsigned R_W :1; + unsigned :2; + unsigned D_A :1; + }; + struct { + unsigned :2; + unsigned READ_WRITE :1; + unsigned :2; + unsigned DATA_ADDRESS :1; + }; +} SSPSTATbits_t; +extern volatile SSPSTATbits_t SSPSTATbits __attribute__((address(0x094))); +# 2346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WPUB __attribute__((address(0x095))); + +__asm("WPUB equ 095h"); + + +typedef union { + struct { + unsigned WPUB :8; + }; + struct { + unsigned WPUB0 :1; + unsigned WPUB1 :1; + unsigned WPUB2 :1; + unsigned WPUB3 :1; + unsigned WPUB4 :1; + unsigned WPUB5 :1; + unsigned WPUB6 :1; + unsigned WPUB7 :1; + }; +} WPUBbits_t; +extern volatile WPUBbits_t WPUBbits __attribute__((address(0x095))); +# 2416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char IOCB __attribute__((address(0x096))); + +__asm("IOCB equ 096h"); + + +typedef union { + struct { + unsigned IOCB :8; + }; + struct { + unsigned IOCB0 :1; + unsigned IOCB1 :1; + unsigned IOCB2 :1; + unsigned IOCB3 :1; + unsigned IOCB4 :1; + unsigned IOCB5 :1; + unsigned IOCB6 :1; + unsigned IOCB7 :1; + }; +} IOCBbits_t; +extern volatile IOCBbits_t IOCBbits __attribute__((address(0x096))); +# 2486 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char VRCON __attribute__((address(0x097))); + +__asm("VRCON equ 097h"); + + +typedef union { + struct { + unsigned VR :4; + unsigned VRSS :1; + unsigned VRR :1; + unsigned VROE :1; + unsigned VREN :1; + }; + struct { + unsigned VR0 :1; + unsigned VR1 :1; + unsigned VR2 :1; + unsigned VR3 :1; + }; +} VRCONbits_t; +extern volatile VRCONbits_t VRCONbits __attribute__((address(0x097))); +# 2556 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXSTA __attribute__((address(0x098))); + +__asm("TXSTA equ 098h"); + + +typedef union { + struct { + unsigned TX9D :1; + unsigned TRMT :1; + unsigned BRGH :1; + unsigned SENDB :1; + unsigned SYNC :1; + unsigned TXEN :1; + unsigned TX9 :1; + unsigned CSRC :1; + }; + struct { + unsigned TXD8 :1; + unsigned :5; + unsigned nTX8 :1; + }; + struct { + unsigned :6; + unsigned TX8_9 :1; + }; +} TXSTAbits_t; +extern volatile TXSTAbits_t TXSTAbits __attribute__((address(0x098))); +# 2642 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRG __attribute__((address(0x099))); + +__asm("SPBRG equ 099h"); + + +typedef union { + struct { + unsigned BRG0 :1; + unsigned BRG1 :1; + unsigned BRG2 :1; + unsigned BRG3 :1; + unsigned BRG4 :1; + unsigned BRG5 :1; + unsigned BRG6 :1; + unsigned BRG7 :1; + }; +} SPBRGbits_t; +extern volatile SPBRGbits_t SPBRGbits __attribute__((address(0x099))); +# 2704 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRGH __attribute__((address(0x09A))); + +__asm("SPBRGH equ 09Ah"); + + +typedef union { + struct { + unsigned SPBRGH :8; + }; + struct { + unsigned BRG8 :1; + unsigned BRG9 :1; + unsigned BRG10 :1; + unsigned BRG11 :1; + unsigned BRG12 :1; + unsigned BRG13 :1; + unsigned BRG14 :1; + unsigned BRG15 :1; + }; +} SPBRGHbits_t; +extern volatile SPBRGHbits_t SPBRGHbits __attribute__((address(0x09A))); +# 2774 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PWM1CON __attribute__((address(0x09B))); + +__asm("PWM1CON equ 09Bh"); + + +typedef union { + struct { + unsigned PDC :7; + unsigned PRSEN :1; + }; + struct { + unsigned PDC0 :1; + unsigned PDC1 :1; + unsigned PDC2 :1; + unsigned PDC3 :1; + unsigned PDC4 :1; + unsigned PDC5 :1; + unsigned PDC6 :1; + }; +} PWM1CONbits_t; +extern volatile PWM1CONbits_t PWM1CONbits __attribute__((address(0x09B))); +# 2844 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ECCPAS __attribute__((address(0x09C))); + +__asm("ECCPAS equ 09Ch"); + + +typedef union { + struct { + unsigned PSSBD :2; + unsigned PSSAC :2; + unsigned ECCPAS :3; + unsigned ECCPASE :1; + }; + struct { + unsigned PSSBD0 :1; + unsigned PSSBD1 :1; + unsigned PSSAC0 :1; + unsigned PSSAC1 :1; + unsigned ECCPAS0 :1; + unsigned ECCPAS1 :1; + unsigned ECCPAS2 :1; + }; +} ECCPASbits_t; +extern volatile ECCPASbits_t ECCPASbits __attribute__((address(0x09C))); +# 2926 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PSTRCON __attribute__((address(0x09D))); + +__asm("PSTRCON equ 09Dh"); + + +typedef union { + struct { + unsigned STRA :1; + unsigned STRB :1; + unsigned STRC :1; + unsigned STRD :1; + unsigned STRSYNC :1; + }; +} PSTRCONbits_t; +extern volatile PSTRCONbits_t PSTRCONbits __attribute__((address(0x09D))); +# 2970 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESL __attribute__((address(0x09E))); + +__asm("ADRESL equ 09Eh"); + + + + +extern volatile unsigned char ADCON1 __attribute__((address(0x09F))); + +__asm("ADCON1 equ 09Fh"); + + +typedef union { + struct { + unsigned :4; + unsigned VCFG0 :1; + unsigned VCFG1 :1; + unsigned :1; + unsigned ADFM :1; + }; +} ADCON1bits_t; +extern volatile ADCON1bits_t ADCON1bits __attribute__((address(0x09F))); +# 3011 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WDTCON __attribute__((address(0x105))); + +__asm("WDTCON equ 0105h"); + + +typedef union { + struct { + unsigned SWDTEN :1; + unsigned WDTPS :4; + }; + struct { + unsigned :1; + unsigned WDTPS0 :1; + unsigned WDTPS1 :1; + unsigned WDTPS2 :1; + unsigned WDTPS3 :1; + }; +} WDTCONbits_t; +extern volatile WDTCONbits_t WDTCONbits __attribute__((address(0x105))); +# 3064 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM1CON0 __attribute__((address(0x107))); + +__asm("CM1CON0 equ 0107h"); + + +typedef union { + struct { + unsigned C1CH :2; + unsigned C1R :1; + unsigned :1; + unsigned C1POL :1; + unsigned C1OE :1; + unsigned C1OUT :1; + unsigned C1ON :1; + }; + struct { + unsigned C1CH0 :1; + unsigned C1CH1 :1; + }; +} CM1CON0bits_t; +extern volatile CM1CON0bits_t CM1CON0bits __attribute__((address(0x107))); +# 3129 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON0 __attribute__((address(0x108))); + +__asm("CM2CON0 equ 0108h"); + + +typedef union { + struct { + unsigned C2CH :2; + unsigned C2R :1; + unsigned :1; + unsigned C2POL :1; + unsigned C2OE :1; + unsigned C2OUT :1; + unsigned C2ON :1; + }; + struct { + unsigned C2CH0 :1; + unsigned C2CH1 :1; + }; +} CM2CON0bits_t; +extern volatile CM2CON0bits_t CM2CON0bits __attribute__((address(0x108))); +# 3194 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON1 __attribute__((address(0x109))); + +__asm("CM2CON1 equ 0109h"); + + +typedef union { + struct { + unsigned C2SYNC :1; + unsigned T1GSS :1; + unsigned :2; + unsigned C2RSEL :1; + unsigned C1RSEL :1; + unsigned MC2OUT :1; + unsigned MC1OUT :1; + }; +} CM2CON1bits_t; +extern volatile CM2CON1bits_t CM2CON1bits __attribute__((address(0x109))); +# 3245 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EEDATA __attribute__((address(0x10C))); + +__asm("EEDATA equ 010Ch"); + + +extern volatile unsigned char EEDAT __attribute__((address(0x10C))); + +__asm("EEDAT equ 010Ch"); + + + + +extern volatile unsigned char EEADR __attribute__((address(0x10D))); + +__asm("EEADR equ 010Dh"); + + + + +extern volatile unsigned char EEDATH __attribute__((address(0x10E))); + +__asm("EEDATH equ 010Eh"); + + + + +extern volatile unsigned char EEADRH __attribute__((address(0x10F))); + +__asm("EEADRH equ 010Fh"); + + + + +extern volatile unsigned char SRCON __attribute__((address(0x185))); + +__asm("SRCON equ 0185h"); + + +typedef union { + struct { + unsigned FVREN :1; + unsigned :1; + unsigned PULSR :1; + unsigned PULSS :1; + unsigned C2REN :1; + unsigned C1SEN :1; + unsigned SR0 :1; + unsigned SR1 :1; + }; +} SRCONbits_t; +extern volatile SRCONbits_t SRCONbits __attribute__((address(0x185))); +# 3335 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char BAUDCTL __attribute__((address(0x187))); + +__asm("BAUDCTL equ 0187h"); + + +typedef union { + struct { + unsigned ABDEN :1; + unsigned WUE :1; + unsigned :1; + unsigned BRG16 :1; + unsigned SCKP :1; + unsigned :1; + unsigned RCIDL :1; + unsigned ABDOVF :1; + }; +} BAUDCTLbits_t; +extern volatile BAUDCTLbits_t BAUDCTLbits __attribute__((address(0x187))); +# 3387 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSEL __attribute__((address(0x188))); + +__asm("ANSEL equ 0188h"); + + +typedef union { + struct { + unsigned ANS0 :1; + unsigned ANS1 :1; + unsigned ANS2 :1; + unsigned ANS3 :1; + unsigned ANS4 :1; + unsigned ANS5 :1; + unsigned ANS6 :1; + unsigned ANS7 :1; + }; +} ANSELbits_t; +extern volatile ANSELbits_t ANSELbits __attribute__((address(0x188))); +# 3449 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSELH __attribute__((address(0x189))); + +__asm("ANSELH equ 0189h"); + + +typedef union { + struct { + unsigned ANS8 :1; + unsigned ANS9 :1; + unsigned ANS10 :1; + unsigned ANS11 :1; + unsigned ANS12 :1; + unsigned ANS13 :1; + }; +} ANSELHbits_t; +extern volatile ANSELHbits_t ANSELHbits __attribute__((address(0x189))); +# 3499 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON1 __attribute__((address(0x18C))); + +__asm("EECON1 equ 018Ch"); + + +typedef union { + struct { + unsigned RD :1; + unsigned WR :1; + unsigned WREN :1; + unsigned WRERR :1; + unsigned :3; + unsigned EEPGD :1; + }; +} EECON1bits_t; +extern volatile EECON1bits_t EECON1bits __attribute__((address(0x18C))); +# 3544 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON2 __attribute__((address(0x18D))); + +__asm("EECON2 equ 018Dh"); +# 3561 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile __bit ABDEN __attribute__((address(0xC38))); + + +extern volatile __bit ABDOVF __attribute__((address(0xC3F))); + + +extern volatile __bit ACKDT __attribute__((address(0x48D))); + + +extern volatile __bit ACKEN __attribute__((address(0x48C))); + + +extern volatile __bit ACKSTAT __attribute__((address(0x48E))); + + +extern volatile __bit ADCS0 __attribute__((address(0xFE))); + + +extern volatile __bit ADCS1 __attribute__((address(0xFF))); + + +extern volatile __bit ADDEN __attribute__((address(0xC3))); + + +extern volatile __bit ADFM __attribute__((address(0x4FF))); + + +extern volatile __bit ADIE __attribute__((address(0x466))); + + +extern volatile __bit ADIF __attribute__((address(0x66))); + + +extern volatile __bit ADON __attribute__((address(0xF8))); + + +extern volatile __bit ANS0 __attribute__((address(0xC40))); + + +extern volatile __bit ANS1 __attribute__((address(0xC41))); + + +extern volatile __bit ANS10 __attribute__((address(0xC4A))); + + +extern volatile __bit ANS11 __attribute__((address(0xC4B))); + + +extern volatile __bit ANS12 __attribute__((address(0xC4C))); + + +extern volatile __bit ANS13 __attribute__((address(0xC4D))); + + +extern volatile __bit ANS2 __attribute__((address(0xC42))); + + +extern volatile __bit ANS3 __attribute__((address(0xC43))); + + +extern volatile __bit ANS4 __attribute__((address(0xC44))); + + +extern volatile __bit ANS5 __attribute__((address(0xC45))); + + +extern volatile __bit ANS6 __attribute__((address(0xC46))); + + +extern volatile __bit ANS7 __attribute__((address(0xC47))); + + +extern volatile __bit ANS8 __attribute__((address(0xC48))); + + +extern volatile __bit ANS9 __attribute__((address(0xC49))); + + +extern volatile __bit BCLIE __attribute__((address(0x46B))); + + +extern volatile __bit BCLIF __attribute__((address(0x6B))); + + +extern volatile __bit BF __attribute__((address(0x4A0))); + + +extern volatile __bit BRG0 __attribute__((address(0x4C8))); + + +extern volatile __bit BRG1 __attribute__((address(0x4C9))); + + +extern volatile __bit BRG10 __attribute__((address(0x4D2))); + + +extern volatile __bit BRG11 __attribute__((address(0x4D3))); + + +extern volatile __bit BRG12 __attribute__((address(0x4D4))); + + +extern volatile __bit BRG13 __attribute__((address(0x4D5))); + + +extern volatile __bit BRG14 __attribute__((address(0x4D6))); + + +extern volatile __bit BRG15 __attribute__((address(0x4D7))); + + +extern volatile __bit BRG16 __attribute__((address(0xC3B))); + + +extern volatile __bit BRG2 __attribute__((address(0x4CA))); + + +extern volatile __bit BRG3 __attribute__((address(0x4CB))); + + +extern volatile __bit BRG4 __attribute__((address(0x4CC))); + + +extern volatile __bit BRG5 __attribute__((address(0x4CD))); + + +extern volatile __bit BRG6 __attribute__((address(0x4CE))); + + +extern volatile __bit BRG7 __attribute__((address(0x4CF))); + + +extern volatile __bit BRG8 __attribute__((address(0x4D0))); + + +extern volatile __bit BRG9 __attribute__((address(0x4D1))); + + +extern volatile __bit BRGH __attribute__((address(0x4C2))); + + +extern volatile __bit C1CH0 __attribute__((address(0x838))); + + +extern volatile __bit C1CH1 __attribute__((address(0x839))); + + +extern volatile __bit C1IE __attribute__((address(0x46D))); + + +extern volatile __bit C1IF __attribute__((address(0x6D))); + + +extern volatile __bit C1OE __attribute__((address(0x83D))); + + +extern volatile __bit C1ON __attribute__((address(0x83F))); + + +extern volatile __bit C1OUT __attribute__((address(0x83E))); + + +extern volatile __bit C1POL __attribute__((address(0x83C))); + + +extern volatile __bit C1R __attribute__((address(0x83A))); + + +extern volatile __bit C1RSEL __attribute__((address(0x84D))); + + +extern volatile __bit C1SEN __attribute__((address(0xC2D))); + + +extern volatile __bit C2CH0 __attribute__((address(0x840))); + + +extern volatile __bit C2CH1 __attribute__((address(0x841))); + + +extern volatile __bit C2IE __attribute__((address(0x46E))); + + +extern volatile __bit C2IF __attribute__((address(0x6E))); + + +extern volatile __bit C2OE __attribute__((address(0x845))); + + +extern volatile __bit C2ON __attribute__((address(0x847))); + + +extern volatile __bit C2OUT __attribute__((address(0x846))); + + +extern volatile __bit C2POL __attribute__((address(0x844))); + + +extern volatile __bit C2R __attribute__((address(0x842))); + + +extern volatile __bit C2REN __attribute__((address(0xC2C))); + + +extern volatile __bit C2RSEL __attribute__((address(0x84C))); + + +extern volatile __bit C2SYNC __attribute__((address(0x848))); + + +extern volatile __bit CARRY __attribute__((address(0x18))); + + +extern volatile __bit CCP1IE __attribute__((address(0x462))); + + +extern volatile __bit CCP1IF __attribute__((address(0x62))); + + +extern volatile __bit CCP1M0 __attribute__((address(0xB8))); + + +extern volatile __bit CCP1M1 __attribute__((address(0xB9))); + + +extern volatile __bit CCP1M2 __attribute__((address(0xBA))); + + +extern volatile __bit CCP1M3 __attribute__((address(0xBB))); + + +extern volatile __bit CCP1X __attribute__((address(0xBD))); + + +extern volatile __bit CCP1Y __attribute__((address(0xBC))); + + +extern volatile __bit CCP2IE __attribute__((address(0x468))); + + +extern volatile __bit CCP2IF __attribute__((address(0x68))); + + +extern volatile __bit CCP2M0 __attribute__((address(0xE8))); + + +extern volatile __bit CCP2M1 __attribute__((address(0xE9))); + + +extern volatile __bit CCP2M2 __attribute__((address(0xEA))); + + +extern volatile __bit CCP2M3 __attribute__((address(0xEB))); + + +extern volatile __bit CCP2X __attribute__((address(0xED))); + + +extern volatile __bit CCP2Y __attribute__((address(0xEC))); + + +extern volatile __bit CHS0 __attribute__((address(0xFA))); + + +extern volatile __bit CHS1 __attribute__((address(0xFB))); + + +extern volatile __bit CHS2 __attribute__((address(0xFC))); + + +extern volatile __bit CHS3 __attribute__((address(0xFD))); + + +extern volatile __bit CKE __attribute__((address(0x4A6))); + + +extern volatile __bit CKP __attribute__((address(0xA4))); + + +extern volatile __bit CREN __attribute__((address(0xC4))); + + +extern volatile __bit CSRC __attribute__((address(0x4C7))); + + +extern volatile __bit DATA_ADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit DC __attribute__((address(0x19))); + + +extern volatile __bit DC1B0 __attribute__((address(0xBC))); + + +extern volatile __bit DC1B1 __attribute__((address(0xBD))); + + +extern volatile __bit DC2B0 __attribute__((address(0xEC))); + + +extern volatile __bit DC2B1 __attribute__((address(0xED))); + + +extern volatile __bit D_A __attribute__((address(0x4A5))); + + +extern volatile __bit D_nA __attribute__((address(0x4A5))); + + +extern volatile __bit ECCPAS0 __attribute__((address(0x4E4))); + + +extern volatile __bit ECCPAS1 __attribute__((address(0x4E5))); + + +extern volatile __bit ECCPAS2 __attribute__((address(0x4E6))); + + +extern volatile __bit ECCPASE __attribute__((address(0x4E7))); + + +extern volatile __bit EEIE __attribute__((address(0x46C))); + + +extern volatile __bit EEIF __attribute__((address(0x6C))); + + +extern volatile __bit EEPGD __attribute__((address(0xC67))); + + +extern volatile __bit FERR __attribute__((address(0xC2))); + + +extern volatile __bit FVREN __attribute__((address(0xC28))); + + +extern volatile __bit GCEN __attribute__((address(0x48F))); + + +extern volatile __bit GIE __attribute__((address(0x5F))); + + +extern volatile __bit GO __attribute__((address(0xF9))); + + +extern volatile __bit GO_DONE __attribute__((address(0xF9))); + + +extern volatile __bit GO_nDONE __attribute__((address(0xF9))); + + +extern volatile __bit HTS __attribute__((address(0x47A))); + + +extern volatile __bit I2C_DATA __attribute__((address(0x4A5))); + + +extern volatile __bit I2C_READ __attribute__((address(0x4A2))); + + +extern volatile __bit I2C_START __attribute__((address(0x4A3))); + + +extern volatile __bit I2C_STOP __attribute__((address(0x4A4))); + + +extern volatile __bit INTE __attribute__((address(0x5C))); + + +extern volatile __bit INTEDG __attribute__((address(0x40E))); + + +extern volatile __bit INTF __attribute__((address(0x59))); + + +extern volatile __bit IOCB0 __attribute__((address(0x4B0))); + + +extern volatile __bit IOCB1 __attribute__((address(0x4B1))); + + +extern volatile __bit IOCB2 __attribute__((address(0x4B2))); + + +extern volatile __bit IOCB3 __attribute__((address(0x4B3))); + + +extern volatile __bit IOCB4 __attribute__((address(0x4B4))); + + +extern volatile __bit IOCB5 __attribute__((address(0x4B5))); + + +extern volatile __bit IOCB6 __attribute__((address(0x4B6))); + + +extern volatile __bit IOCB7 __attribute__((address(0x4B7))); + + +extern volatile __bit IRCF0 __attribute__((address(0x47C))); + + +extern volatile __bit IRCF1 __attribute__((address(0x47D))); + + +extern volatile __bit IRCF2 __attribute__((address(0x47E))); + + +extern volatile __bit IRP __attribute__((address(0x1F))); + + +extern volatile __bit LTS __attribute__((address(0x479))); + + +extern volatile __bit MC1OUT __attribute__((address(0x84F))); + + +extern volatile __bit MC2OUT __attribute__((address(0x84E))); + + +extern volatile __bit MSK0 __attribute__((address(0x498))); + + +extern volatile __bit MSK1 __attribute__((address(0x499))); + + +extern volatile __bit MSK2 __attribute__((address(0x49A))); + + +extern volatile __bit MSK3 __attribute__((address(0x49B))); + + +extern volatile __bit MSK4 __attribute__((address(0x49C))); + + +extern volatile __bit MSK5 __attribute__((address(0x49D))); + + +extern volatile __bit MSK6 __attribute__((address(0x49E))); + + +extern volatile __bit MSK7 __attribute__((address(0x49F))); + + +extern volatile __bit OERR __attribute__((address(0xC1))); + + +extern volatile __bit OSFIE __attribute__((address(0x46F))); + + +extern volatile __bit OSFIF __attribute__((address(0x6F))); + + +extern volatile __bit OSTS __attribute__((address(0x47B))); + + +extern volatile __bit P1M0 __attribute__((address(0xBE))); + + +extern volatile __bit P1M1 __attribute__((address(0xBF))); + + +extern volatile __bit PDC0 __attribute__((address(0x4D8))); + + +extern volatile __bit PDC1 __attribute__((address(0x4D9))); + + +extern volatile __bit PDC2 __attribute__((address(0x4DA))); + + +extern volatile __bit PDC3 __attribute__((address(0x4DB))); + + +extern volatile __bit PDC4 __attribute__((address(0x4DC))); + + +extern volatile __bit PDC5 __attribute__((address(0x4DD))); + + +extern volatile __bit PDC6 __attribute__((address(0x4DE))); + + +extern volatile __bit PEIE __attribute__((address(0x5E))); + + +extern volatile __bit PEN __attribute__((address(0x48A))); + + +extern volatile __bit PRSEN __attribute__((address(0x4DF))); + + +extern volatile __bit PS0 __attribute__((address(0x408))); + + +extern volatile __bit PS1 __attribute__((address(0x409))); + + +extern volatile __bit PS2 __attribute__((address(0x40A))); + + +extern volatile __bit PSA __attribute__((address(0x40B))); + + +extern volatile __bit PSSAC0 __attribute__((address(0x4E2))); + + +extern volatile __bit PSSAC1 __attribute__((address(0x4E3))); + + +extern volatile __bit PSSBD0 __attribute__((address(0x4E0))); + + +extern volatile __bit PSSBD1 __attribute__((address(0x4E1))); + + +extern volatile __bit PULSR __attribute__((address(0xC2A))); + + +extern volatile __bit PULSS __attribute__((address(0xC2B))); + + +extern volatile __bit RA0 __attribute__((address(0x28))); + + +extern volatile __bit RA1 __attribute__((address(0x29))); + + +extern volatile __bit RA2 __attribute__((address(0x2A))); + + +extern volatile __bit RA3 __attribute__((address(0x2B))); + + +extern volatile __bit RA4 __attribute__((address(0x2C))); + + +extern volatile __bit RA5 __attribute__((address(0x2D))); + + +extern volatile __bit RA6 __attribute__((address(0x2E))); + + +extern volatile __bit RA7 __attribute__((address(0x2F))); + + +extern volatile __bit RB0 __attribute__((address(0x30))); + + +extern volatile __bit RB1 __attribute__((address(0x31))); + + +extern volatile __bit RB2 __attribute__((address(0x32))); + + +extern volatile __bit RB3 __attribute__((address(0x33))); + + +extern volatile __bit RB4 __attribute__((address(0x34))); + + +extern volatile __bit RB5 __attribute__((address(0x35))); + + +extern volatile __bit RB6 __attribute__((address(0x36))); + + +extern volatile __bit RB7 __attribute__((address(0x37))); + + +extern volatile __bit RBIE __attribute__((address(0x5B))); + + +extern volatile __bit RBIF __attribute__((address(0x58))); + + +extern volatile __bit RC0 __attribute__((address(0x38))); + + +extern volatile __bit RC1 __attribute__((address(0x39))); + + +extern volatile __bit RC2 __attribute__((address(0x3A))); + + +extern volatile __bit RC3 __attribute__((address(0x3B))); + + +extern volatile __bit RC4 __attribute__((address(0x3C))); + + +extern volatile __bit RC5 __attribute__((address(0x3D))); + + +extern volatile __bit RC6 __attribute__((address(0x3E))); + + +extern volatile __bit RC7 __attribute__((address(0x3F))); + + +extern volatile __bit RC8_9 __attribute__((address(0xC6))); + + +extern volatile __bit RC9 __attribute__((address(0xC6))); + + +extern volatile __bit RCD8 __attribute__((address(0xC0))); + + +extern volatile __bit RCEN __attribute__((address(0x48B))); + + +extern volatile __bit RCIDL __attribute__((address(0xC3E))); + + +extern volatile __bit RCIE __attribute__((address(0x465))); + + +extern volatile __bit RCIF __attribute__((address(0x65))); + + +extern volatile __bit RD __attribute__((address(0xC60))); + + +extern volatile __bit RD0 __attribute__((address(0x40))); + + +extern volatile __bit RD1 __attribute__((address(0x41))); + + +extern volatile __bit RD2 __attribute__((address(0x42))); + + +extern volatile __bit RD3 __attribute__((address(0x43))); + + +extern volatile __bit RD4 __attribute__((address(0x44))); + + +extern volatile __bit RD5 __attribute__((address(0x45))); + + +extern volatile __bit RD6 __attribute__((address(0x46))); + + +extern volatile __bit RD7 __attribute__((address(0x47))); + + +extern volatile __bit RE0 __attribute__((address(0x48))); + + +extern volatile __bit RE1 __attribute__((address(0x49))); + + +extern volatile __bit RE2 __attribute__((address(0x4A))); + + +extern volatile __bit RE3 __attribute__((address(0x4B))); + + +extern volatile __bit READ_WRITE __attribute__((address(0x4A2))); + + +extern volatile __bit RP0 __attribute__((address(0x1D))); + + +extern volatile __bit RP1 __attribute__((address(0x1E))); + + +extern volatile __bit RSEN __attribute__((address(0x489))); + + +extern volatile __bit RX9 __attribute__((address(0xC6))); + + +extern volatile __bit RX9D __attribute__((address(0xC0))); + + +extern volatile __bit R_W __attribute__((address(0x4A2))); + + +extern volatile __bit R_nW __attribute__((address(0x4A2))); + + +extern volatile __bit SBOREN __attribute__((address(0x474))); + + +extern volatile __bit SCKP __attribute__((address(0xC3C))); + + +extern volatile __bit SCS __attribute__((address(0x478))); + + +extern volatile __bit SEN __attribute__((address(0x488))); + + +extern volatile __bit SENDB __attribute__((address(0x4C3))); + + +extern volatile __bit SMP __attribute__((address(0x4A7))); + + +extern volatile __bit SPEN __attribute__((address(0xC7))); + + +extern volatile __bit SR0 __attribute__((address(0xC2E))); + + +extern volatile __bit SR1 __attribute__((address(0xC2F))); + + +extern volatile __bit SREN __attribute__((address(0xC5))); + + +extern volatile __bit SSPEN __attribute__((address(0xA5))); + + +extern volatile __bit SSPIE __attribute__((address(0x463))); + + +extern volatile __bit SSPIF __attribute__((address(0x63))); + + +extern volatile __bit SSPM0 __attribute__((address(0xA0))); + + +extern volatile __bit SSPM1 __attribute__((address(0xA1))); + + +extern volatile __bit SSPM2 __attribute__((address(0xA2))); + + +extern volatile __bit SSPM3 __attribute__((address(0xA3))); + + +extern volatile __bit SSPOV __attribute__((address(0xA6))); + + +extern volatile __bit STRA __attribute__((address(0x4E8))); + + +extern volatile __bit STRB __attribute__((address(0x4E9))); + + +extern volatile __bit STRC __attribute__((address(0x4EA))); + + +extern volatile __bit STRD __attribute__((address(0x4EB))); + + +extern volatile __bit STRSYNC __attribute__((address(0x4EC))); + + +extern volatile __bit SWDTEN __attribute__((address(0x828))); + + +extern volatile __bit SYNC __attribute__((address(0x4C4))); + + +extern volatile __bit T0CS __attribute__((address(0x40D))); + + +extern volatile __bit T0IE __attribute__((address(0x5D))); + + +extern volatile __bit T0IF __attribute__((address(0x5A))); + + +extern volatile __bit T0SE __attribute__((address(0x40C))); + + +extern volatile __bit T1CKPS0 __attribute__((address(0x84))); + + +extern volatile __bit T1CKPS1 __attribute__((address(0x85))); + + +extern volatile __bit T1GINV __attribute__((address(0x87))); + + +extern volatile __bit T1GIV __attribute__((address(0x87))); + + +extern volatile __bit T1GSS __attribute__((address(0x849))); + + +extern volatile __bit T1INSYNC __attribute__((address(0x82))); + + +extern volatile __bit T1OSCEN __attribute__((address(0x83))); + + +extern volatile __bit T1SYNC __attribute__((address(0x82))); + + +extern volatile __bit T2CKPS0 __attribute__((address(0x90))); + + +extern volatile __bit T2CKPS1 __attribute__((address(0x91))); + + +extern volatile __bit TMR0IE __attribute__((address(0x5D))); + + +extern volatile __bit TMR0IF __attribute__((address(0x5A))); + + +extern volatile __bit TMR1CS __attribute__((address(0x81))); + + +extern volatile __bit TMR1GE __attribute__((address(0x86))); + + +extern volatile __bit TMR1IE __attribute__((address(0x460))); + + +extern volatile __bit TMR1IF __attribute__((address(0x60))); + + +extern volatile __bit TMR1ON __attribute__((address(0x80))); + + +extern volatile __bit TMR2IE __attribute__((address(0x461))); + + +extern volatile __bit TMR2IF __attribute__((address(0x61))); + + +extern volatile __bit TMR2ON __attribute__((address(0x92))); + + +extern volatile __bit TOUTPS0 __attribute__((address(0x93))); + + +extern volatile __bit TOUTPS1 __attribute__((address(0x94))); + + +extern volatile __bit TOUTPS2 __attribute__((address(0x95))); + + +extern volatile __bit TOUTPS3 __attribute__((address(0x96))); + + +extern volatile __bit TRISA0 __attribute__((address(0x428))); + + +extern volatile __bit TRISA1 __attribute__((address(0x429))); + + +extern volatile __bit TRISA2 __attribute__((address(0x42A))); + + +extern volatile __bit TRISA3 __attribute__((address(0x42B))); + + +extern volatile __bit TRISA4 __attribute__((address(0x42C))); + + +extern volatile __bit TRISA5 __attribute__((address(0x42D))); + + +extern volatile __bit TRISA6 __attribute__((address(0x42E))); + + +extern volatile __bit TRISA7 __attribute__((address(0x42F))); + + +extern volatile __bit TRISB0 __attribute__((address(0x430))); + + +extern volatile __bit TRISB1 __attribute__((address(0x431))); + + +extern volatile __bit TRISB2 __attribute__((address(0x432))); + + +extern volatile __bit TRISB3 __attribute__((address(0x433))); + + +extern volatile __bit TRISB4 __attribute__((address(0x434))); + + +extern volatile __bit TRISB5 __attribute__((address(0x435))); + + +extern volatile __bit TRISB6 __attribute__((address(0x436))); + + +extern volatile __bit TRISB7 __attribute__((address(0x437))); + + +extern volatile __bit TRISC0 __attribute__((address(0x438))); + + +extern volatile __bit TRISC1 __attribute__((address(0x439))); + + +extern volatile __bit TRISC2 __attribute__((address(0x43A))); + + +extern volatile __bit TRISC3 __attribute__((address(0x43B))); + + +extern volatile __bit TRISC4 __attribute__((address(0x43C))); + + +extern volatile __bit TRISC5 __attribute__((address(0x43D))); + + +extern volatile __bit TRISC6 __attribute__((address(0x43E))); + + +extern volatile __bit TRISC7 __attribute__((address(0x43F))); + + +extern volatile __bit TRISD0 __attribute__((address(0x440))); + + +extern volatile __bit TRISD1 __attribute__((address(0x441))); + + +extern volatile __bit TRISD2 __attribute__((address(0x442))); + + +extern volatile __bit TRISD3 __attribute__((address(0x443))); + + +extern volatile __bit TRISD4 __attribute__((address(0x444))); + + +extern volatile __bit TRISD5 __attribute__((address(0x445))); + + +extern volatile __bit TRISD6 __attribute__((address(0x446))); + + +extern volatile __bit TRISD7 __attribute__((address(0x447))); + + +extern volatile __bit TRISE0 __attribute__((address(0x448))); + + +extern volatile __bit TRISE1 __attribute__((address(0x449))); + + +extern volatile __bit TRISE2 __attribute__((address(0x44A))); + + +extern volatile __bit TRISE3 __attribute__((address(0x44B))); + + +extern volatile __bit TRMT __attribute__((address(0x4C1))); + + +extern volatile __bit TUN0 __attribute__((address(0x480))); + + +extern volatile __bit TUN1 __attribute__((address(0x481))); + + +extern volatile __bit TUN2 __attribute__((address(0x482))); + + +extern volatile __bit TUN3 __attribute__((address(0x483))); + + +extern volatile __bit TUN4 __attribute__((address(0x484))); + + +extern volatile __bit TX8_9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9D __attribute__((address(0x4C0))); + + +extern volatile __bit TXD8 __attribute__((address(0x4C0))); + + +extern volatile __bit TXEN __attribute__((address(0x4C5))); + + +extern volatile __bit TXIE __attribute__((address(0x464))); + + +extern volatile __bit TXIF __attribute__((address(0x64))); + + +extern volatile __bit UA __attribute__((address(0x4A1))); + + +extern volatile __bit ULPWUE __attribute__((address(0x475))); + + +extern volatile __bit ULPWUIE __attribute__((address(0x46A))); + + +extern volatile __bit ULPWUIF __attribute__((address(0x6A))); + + +extern volatile __bit VCFG0 __attribute__((address(0x4FC))); + + +extern volatile __bit VCFG1 __attribute__((address(0x4FD))); + + +extern volatile __bit VR0 __attribute__((address(0x4B8))); + + +extern volatile __bit VR1 __attribute__((address(0x4B9))); + + +extern volatile __bit VR2 __attribute__((address(0x4BA))); + + +extern volatile __bit VR3 __attribute__((address(0x4BB))); + + +extern volatile __bit VREN __attribute__((address(0x4BF))); + + +extern volatile __bit VROE __attribute__((address(0x4BE))); + + +extern volatile __bit VRR __attribute__((address(0x4BD))); + + +extern volatile __bit VRSS __attribute__((address(0x4BC))); + + +extern volatile __bit WCOL __attribute__((address(0xA7))); + + +extern volatile __bit WDTPS0 __attribute__((address(0x829))); + + +extern volatile __bit WDTPS1 __attribute__((address(0x82A))); + + +extern volatile __bit WDTPS2 __attribute__((address(0x82B))); + + +extern volatile __bit WDTPS3 __attribute__((address(0x82C))); + + +extern volatile __bit WPUB0 __attribute__((address(0x4A8))); + + +extern volatile __bit WPUB1 __attribute__((address(0x4A9))); + + +extern volatile __bit WPUB2 __attribute__((address(0x4AA))); + + +extern volatile __bit WPUB3 __attribute__((address(0x4AB))); + + +extern volatile __bit WPUB4 __attribute__((address(0x4AC))); + + +extern volatile __bit WPUB5 __attribute__((address(0x4AD))); + + +extern volatile __bit WPUB6 __attribute__((address(0x4AE))); + + +extern volatile __bit WPUB7 __attribute__((address(0x4AF))); + + +extern volatile __bit WR __attribute__((address(0xC61))); + + +extern volatile __bit WREN __attribute__((address(0xC62))); + + +extern volatile __bit WRERR __attribute__((address(0xC63))); + + +extern volatile __bit WUE __attribute__((address(0xC39))); + + +extern volatile __bit ZERO __attribute__((address(0x1A))); + + +extern volatile __bit nA __attribute__((address(0x4A5))); + + +extern volatile __bit nADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit nBO __attribute__((address(0x470))); + + +extern volatile __bit nBOR __attribute__((address(0x470))); + + +extern volatile __bit nDONE __attribute__((address(0xF9))); + + +extern volatile __bit nPD __attribute__((address(0x1B))); + + +extern volatile __bit nPOR __attribute__((address(0x471))); + + +extern volatile __bit nRBPU __attribute__((address(0x40F))); + + +extern volatile __bit nRC8 __attribute__((address(0xC6))); + + +extern volatile __bit nT1SYNC __attribute__((address(0x82))); + + +extern volatile __bit nTO __attribute__((address(0x1C))); + + +extern volatile __bit nTX8 __attribute__((address(0x4C6))); + + +extern volatile __bit nW __attribute__((address(0x4A2))); + + +extern volatile __bit nWRITE __attribute__((address(0x4A2))); +# 725 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 2 3 +# 14 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 76 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +__attribute__((__unsupported__("The " "FLASH_READ" " macro function is no longer supported. Please use the MPLAB X MCC."))) unsigned char __flash_read(unsigned short addr); + +__attribute__((__unsupported__("The " "FLASH_WRITE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_write(unsigned short addr, unsigned short data); + +__attribute__((__unsupported__("The " "FLASH_ERASE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_erase(unsigned short addr); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 1 3 +# 114 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 3 +extern void eeprom_write(unsigned char addr, unsigned char value); +extern unsigned char eeprom_read(unsigned char addr); +# 84 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 118 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +extern __bank0 unsigned char __resetbits; +extern __bank0 __bit __powerdown; +extern __bank0 __bit __timeout; +# 29 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 5 "src/../include/config.h" 2 + + + + +#pragma config FOSC = INTRC_NOCLKOUT +#pragma config WDTE = OFF +#pragma config PWRTE = ON +#pragma config MCLRE = OFF +#pragma config CP = OFF +#pragma config CPD = OFF +#pragma config BOREN = ON +#pragma config IESO = OFF +#pragma config FCMEN = OFF +#pragma config LVP = OFF +#pragma config BOR4V = BOR40V +#pragma config WRT = OFF +# 1 "src/potentiometer.c" 2 + + +void populate_step_array(int *array, int size, int potLimit) { + array[0] = potLimit / (size + 1); + for (int i = 0; i < size; i++){ + array[i] = array[0] * (i + 1); + } +} + +int read_potentiometer(void) { + + _delay((unsigned long)((5)*(500000/4000000.0))); + + + + GO = 1; + while (GO) continue; + + + + int result = (ADRESH * 256) + ADRESL; + + return result; +} diff --git a/build/default/production/src/potentiometer.p1 b/build/default/production/src/potentiometer.p1 new file mode 100644 index 0000000..4547ddf --- /dev/null +++ b/build/default/production/src/potentiometer.p1 @@ -0,0 +1,339 @@ +Version 4.0 HI-TECH Software Intermediate Code +[v F164 `(v ~T0 @X0 1 tf1`ul ] +"12 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\builtins.h +[v __delay `JF164 ~T0 @X0 0 e ] +[p i __delay ] +"3903 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3903: extern volatile __bit GO __attribute__((address(0xF9))); +[v _GO `Vb ~T0 @X0 0 e@249 ] +"1238 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1238: extern volatile unsigned char ADRESH __attribute__((address(0x01E))); +[v _ADRESH `Vuc ~T0 @X0 0 e@30 ] +"2970 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2970: extern volatile unsigned char ADRESL __attribute__((address(0x09E))); +[v _ADRESL `Vuc ~T0 @X0 0 e@158 ] +"54 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 54: __asm("INDF equ 00h"); +[; <" INDF equ 00h ;# "> +"61 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 61: __asm("TMR0 equ 01h"); +[; <" TMR0 equ 01h ;# "> +"68 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 68: __asm("PCL equ 02h"); +[; <" PCL equ 02h ;# "> +"75 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 75: __asm("STATUS equ 03h"); +[; <" STATUS equ 03h ;# "> +"161 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 161: __asm("FSR equ 04h"); +[; <" FSR equ 04h ;# "> +"168 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 168: __asm("PORTA equ 05h"); +[; <" PORTA equ 05h ;# "> +"230 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 230: __asm("PORTB equ 06h"); +[; <" PORTB equ 06h ;# "> +"292 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 292: __asm("PORTC equ 07h"); +[; <" PORTC equ 07h ;# "> +"354 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 354: __asm("PORTD equ 08h"); +[; <" PORTD equ 08h ;# "> +"416 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 416: __asm("PORTE equ 09h"); +[; <" PORTE equ 09h ;# "> +"454 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 454: __asm("PCLATH equ 0Ah"); +[; <" PCLATH equ 0Ah ;# "> +"461 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 461: __asm("INTCON equ 0Bh"); +[; <" INTCON equ 0Bh ;# "> +"539 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 539: __asm("PIR1 equ 0Ch"); +[; <" PIR1 equ 0Ch ;# "> +"595 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 595: __asm("PIR2 equ 0Dh"); +[; <" PIR2 equ 0Dh ;# "> +"652 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 652: __asm("TMR1 equ 0Eh"); +[; <" TMR1 equ 0Eh ;# "> +"659 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 659: __asm("TMR1L equ 0Eh"); +[; <" TMR1L equ 0Eh ;# "> +"666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 666: __asm("TMR1H equ 0Fh"); +[; <" TMR1H equ 0Fh ;# "> +"673 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 673: __asm("T1CON equ 010h"); +[; <" T1CON equ 010h ;# "> +"767 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 767: __asm("TMR2 equ 011h"); +[; <" TMR2 equ 011h ;# "> +"774 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 774: __asm("T2CON equ 012h"); +[; <" T2CON equ 012h ;# "> +"845 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 845: __asm("SSPBUF equ 013h"); +[; <" SSPBUF equ 013h ;# "> +"852 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 852: __asm("SSPCON equ 014h"); +[; <" SSPCON equ 014h ;# "> +"922 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 922: __asm("CCPR1 equ 015h"); +[; <" CCPR1 equ 015h ;# "> +"929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 929: __asm("CCPR1L equ 015h"); +[; <" CCPR1L equ 015h ;# "> +"936 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 936: __asm("CCPR1H equ 016h"); +[; <" CCPR1H equ 016h ;# "> +"943 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 943: __asm("CCP1CON equ 017h"); +[; <" CCP1CON equ 017h ;# "> +"1040 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1040: __asm("RCSTA equ 018h"); +[; <" RCSTA equ 018h ;# "> +"1135 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1135: __asm("TXREG equ 019h"); +[; <" TXREG equ 019h ;# "> +"1142 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1142: __asm("RCREG equ 01Ah"); +[; <" RCREG equ 01Ah ;# "> +"1149 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1149: __asm("CCPR2 equ 01Bh"); +[; <" CCPR2 equ 01Bh ;# "> +"1156 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1156: __asm("CCPR2L equ 01Bh"); +[; <" CCPR2L equ 01Bh ;# "> +"1163 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1163: __asm("CCPR2H equ 01Ch"); +[; <" CCPR2H equ 01Ch ;# "> +"1170 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1170: __asm("CCP2CON equ 01Dh"); +[; <" CCP2CON equ 01Dh ;# "> +"1240 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1240: __asm("ADRESH equ 01Eh"); +[; <" ADRESH equ 01Eh ;# "> +"1247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1247: __asm("ADCON0 equ 01Fh"); +[; <" ADCON0 equ 01Fh ;# "> +"1348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1348: __asm("OPTION_REG equ 081h"); +[; <" OPTION_REG equ 081h ;# "> +"1418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1418: __asm("TRISA equ 085h"); +[; <" TRISA equ 085h ;# "> +"1480 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1480: __asm("TRISB equ 086h"); +[; <" TRISB equ 086h ;# "> +"1542 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1542: __asm("TRISC equ 087h"); +[; <" TRISC equ 087h ;# "> +"1604 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1604: __asm("TRISD equ 088h"); +[; <" TRISD equ 088h ;# "> +"1666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1666: __asm("TRISE equ 089h"); +[; <" TRISE equ 089h ;# "> +"1704 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1704: __asm("PIE1 equ 08Ch"); +[; <" PIE1 equ 08Ch ;# "> +"1760 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1760: __asm("PIE2 equ 08Dh"); +[; <" PIE2 equ 08Dh ;# "> +"1817 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1817: __asm("PCON equ 08Eh"); +[; <" PCON equ 08Eh ;# "> +"1864 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1864: __asm("OSCCON equ 08Fh"); +[; <" OSCCON equ 08Fh ;# "> +"1929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1929: __asm("OSCTUNE equ 090h"); +[; <" OSCTUNE equ 090h ;# "> +"1981 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1981: __asm("SSPCON2 equ 091h"); +[; <" SSPCON2 equ 091h ;# "> +"2043 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2043: __asm("PR2 equ 092h"); +[; <" PR2 equ 092h ;# "> +"2050 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2050: __asm("SSPADD equ 093h"); +[; <" SSPADD equ 093h ;# "> +"2057 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2057: __asm("SSPMSK equ 093h"); +[; <" SSPMSK equ 093h ;# "> +"2062 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2062: __asm("MSK equ 093h"); +[; <" MSK equ 093h ;# "> +"2179 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2179: __asm("SSPSTAT equ 094h"); +[; <" SSPSTAT equ 094h ;# "> +"2348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2348: __asm("WPUB equ 095h"); +[; <" WPUB equ 095h ;# "> +"2418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2418: __asm("IOCB equ 096h"); +[; <" IOCB equ 096h ;# "> +"2488 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2488: __asm("VRCON equ 097h"); +[; <" VRCON equ 097h ;# "> +"2558 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2558: __asm("TXSTA equ 098h"); +[; <" TXSTA equ 098h ;# "> +"2644 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2644: __asm("SPBRG equ 099h"); +[; <" SPBRG equ 099h ;# "> +"2706 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2706: __asm("SPBRGH equ 09Ah"); +[; <" SPBRGH equ 09Ah ;# "> +"2776 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2776: __asm("PWM1CON equ 09Bh"); +[; <" PWM1CON equ 09Bh ;# "> +"2846 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2846: __asm("ECCPAS equ 09Ch"); +[; <" ECCPAS equ 09Ch ;# "> +"2928 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2928: __asm("PSTRCON equ 09Dh"); +[; <" PSTRCON equ 09Dh ;# "> +"2972 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2972: __asm("ADRESL equ 09Eh"); +[; <" ADRESL equ 09Eh ;# "> +"2979 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2979: __asm("ADCON1 equ 09Fh"); +[; <" ADCON1 equ 09Fh ;# "> +"3013 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3013: __asm("WDTCON equ 0105h"); +[; <" WDTCON equ 0105h ;# "> +"3066 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3066: __asm("CM1CON0 equ 0107h"); +[; <" CM1CON0 equ 0107h ;# "> +"3131 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3131: __asm("CM2CON0 equ 0108h"); +[; <" CM2CON0 equ 0108h ;# "> +"3196 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3196: __asm("CM2CON1 equ 0109h"); +[; <" CM2CON1 equ 0109h ;# "> +"3247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3247: __asm("EEDATA equ 010Ch"); +[; <" EEDATA equ 010Ch ;# "> +"3252 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3252: __asm("EEDAT equ 010Ch"); +[; <" EEDAT equ 010Ch ;# "> +"3259 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3259: __asm("EEADR equ 010Dh"); +[; <" EEADR equ 010Dh ;# "> +"3266 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3266: __asm("EEDATH equ 010Eh"); +[; <" EEDATH equ 010Eh ;# "> +"3273 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3273: __asm("EEADRH equ 010Fh"); +[; <" EEADRH equ 010Fh ;# "> +"3280 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3280: __asm("SRCON equ 0185h"); +[; <" SRCON equ 0185h ;# "> +"3337 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3337: __asm("BAUDCTL equ 0187h"); +[; <" BAUDCTL equ 0187h ;# "> +"3389 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3389: __asm("ANSEL equ 0188h"); +[; <" ANSEL equ 0188h ;# "> +"3451 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3451: __asm("ANSELH equ 0189h"); +[; <" ANSELH equ 0189h ;# "> +"3501 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3501: __asm("EECON1 equ 018Ch"); +[; <" EECON1 equ 018Ch ;# "> +"3546 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3546: __asm("EECON2 equ 018Dh"); +[; <" EECON2 equ 018Dh ;# "> +"9 src/../include/config.h +[p x FOSC = INTRC_NOCLKOUT ] +"10 +[p x WDTE = OFF ] +"11 +[p x PWRTE = ON ] +"12 +[p x MCLRE = OFF ] +"13 +[p x CP = OFF ] +"14 +[p x CPD = OFF ] +"15 +[p x BOREN = ON ] +"16 +[p x IESO = OFF ] +"17 +[p x FCMEN = OFF ] +"18 +[p x LVP = OFF ] +"19 +[p x BOR4V = BOR40V ] +"20 +[p x WRT = OFF ] +"3 src/potentiometer.c +[; ;src/potentiometer.c: 3: void populate_step_array(int *array, int size, int potLimit) { +[v _populate_step_array `(v ~T0 @X0 1 ef3`*i`i`i ] +{ +[e :U _populate_step_array ] +[v _array `*i ~T0 @X0 1 r1 ] +[v _size `i ~T0 @X0 1 r2 ] +[v _potLimit `i ~T0 @X0 1 r3 ] +[f ] +"4 +[; ;src/potentiometer.c: 4: array[0] = potLimit / (size + 1); +[e = *U + _array * -> -> 0 `i `x -> -> # *U _array `i `x / _potLimit + _size -> 1 `i ] +"5 +[; ;src/potentiometer.c: 5: for (int i = 0; i < size; i++){ +{ +[v _i `i ~T0 @X0 1 a ] +[e = _i -> 0 `i ] +[e $U 146 ] +[e :U 143 ] +{ +"6 +[; ;src/potentiometer.c: 6: array[i] = array[0] * (i + 1); +[e = *U + _array * -> _i `x -> -> # *U _array `i `x * *U + _array * -> -> 0 `i `x -> -> # *U _array `i `x + _i -> 1 `i ] +"7 +[; ;src/potentiometer.c: 7: } +} +[e ++ _i -> 1 `i ] +[e :U 146 ] +[e $ < _i _size 143 ] +[e :U 144 ] +} +"8 +[; ;src/potentiometer.c: 8: } +[e :UE 142 ] +} +"10 +[; ;src/potentiometer.c: 10: int read_potentiometer(void) { +[v _read_potentiometer `(i ~T0 @X0 1 ef ] +{ +[e :U _read_potentiometer ] +[f ] +"12 +[; ;src/potentiometer.c: 12: _delay((unsigned long)((5)*(500000/4000000.0))); +[e ( __delay (1 -> * -> -> 5 `i `d / -> -> 500000 `l `d .4000000.0 `ul ] +"16 +[; ;src/potentiometer.c: 16: GO = 1; +[e = _GO -> -> 1 `i `b ] +"17 +[; ;src/potentiometer.c: 17: while (GO) continue; +[e $U 148 ] +[e :U 149 ] +[e $U 148 ] +[e :U 148 ] +[e $ _GO 149 ] +[e :U 150 ] +"21 +[; ;src/potentiometer.c: 21: int result = (ADRESH * 256) + ADRESL; +[v _result `i ~T0 @X0 1 a ] +[e = _result + * -> _ADRESH `i -> 256 `i -> _ADRESL `i ] +"23 +[; ;src/potentiometer.c: 23: return result; +[e ) _result ] +[e $UE 147 ] +"24 +[; ;src/potentiometer.c: 24: } +[e :UE 147 ] +} diff --git a/build/default/production/src/potentiometer.p1.d b/build/default/production/src/potentiometer.p1.d new file mode 100644 index 0000000..bc6fe08 --- /dev/null +++ b/build/default/production/src/potentiometer.p1.d @@ -0,0 +1,3 @@ +build/default/production/src/potentiometer.p1: \ +src/potentiometer.c \ +src/../include/config.h diff --git a/build/default/production/src/rotary_encoder.i b/build/default/production/src/rotary_encoder.i new file mode 100644 index 0000000..3494270 --- /dev/null +++ b/build/default/production/src/rotary_encoder.i @@ -0,0 +1,2732 @@ +# 1 "src/rotary_encoder.c" +# 1 "" 1 +# 1 "" 3 +# 288 "" 3 +# 1 "" 1 +# 1 "" 2 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\language_support.h" 1 3 +# 2 "" 2 +# 1 "src/rotary_encoder.c" 2 + +# 1 "src/../include/config.h" 1 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 18 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 3 +extern const char __xc8_OPTIM_SPEED; + +extern double __fpnormalize(double); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\musl_xc8.h" 1 3 +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + + + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\features.h" 1 3 +# 11 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 +# 21 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 24 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int wchar_t; +# 128 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned size_t; +# 174 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __int24 int24_t; +# 210 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef __uint24 uint24_t; +# 22 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 2 3 + +int atoi (const char *); +long atol (const char *); + + + +double atof (const char *); + + +float strtof (const char *restrict, char **restrict); +double strtod (const char *restrict, char **restrict); +long double strtold (const char *restrict, char **restrict); + + + +long strtol (const char *restrict, char **restrict, int); +unsigned long strtoul (const char *restrict, char **restrict, int); + + + + + +unsigned long __strtoxl(const char * s, char ** endptr, int base, char is_signed); +# 55 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdlib.h" 3 +int rand (void); +void srand (unsigned); + +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); + + void abort (void); +int atexit (void (*) (void)); + void exit (int); + void _Exit (int); + +void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); + + + + + + + +__attribute__((nonreentrant)) void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); + +int abs (int); +long labs (long); + + + + +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; + + + + +div_t div (int, int); +ldiv_t ldiv (long, long); + + + + +typedef struct { unsigned int quot, rem; } udiv_t; +typedef struct { unsigned long quot, rem; } uldiv_t; +udiv_t udiv (unsigned int, unsigned int); +uldiv_t uldiv (unsigned long, unsigned long); +# 5 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\xc8debug.h" 2 3 + + + + + + + +#pragma intrinsic(__builtin_software_breakpoint) +extern void __builtin_software_breakpoint(void); +# 24 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 1 3 + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 1 3 +# 26 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 1 3 +# 133 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned short uintptr_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef short intptr_t; +# 164 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef signed char int8_t; + + + + +typedef short int16_t; +# 179 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef long int32_t; +# 192 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef int32_t intmax_t; + + + + + + + +typedef unsigned char uint8_t; + + + + +typedef unsigned short uint16_t; +# 215 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef unsigned long uint32_t; +# 233 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/alltypes.h" 3 +typedef uint32_t uintmax_t; +# 27 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 + +typedef int8_t int_fast8_t; + + + + +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; + +typedef int24_t int_least24_t; +typedef int24_t int_fast24_t; + +typedef int32_t int_least32_t; + + + + +typedef uint8_t uint_fast8_t; + + + + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; + +typedef uint24_t uint_least24_t; +typedef uint24_t uint_fast24_t; + +typedef uint32_t uint_least32_t; +# 148 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 3 +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\bits/stdint.h" 1 3 +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +# 149 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\c99\\stdint.h" 2 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\builtins.h" 2 3 + + +#pragma intrinsic(__nop) +extern void __nop(void); + + +#pragma intrinsic(_delay) +extern __attribute__((nonreentrant)) void _delay(uint32_t); +#pragma intrinsic(_delaywdt) +extern __attribute__((nonreentrant)) void _delaywdt(uint32_t); +# 25 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 1 3 + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 1 3 + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 1 3 +# 5 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\htc.h" 2 3 +# 6 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 + + + + + + + +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 1 3 +# 724 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 1 3 +# 44 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +# 1 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\__at.h" 1 3 +# 45 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 2 3 + + + + + + + +extern volatile unsigned char INDF __attribute__((address(0x000))); + +__asm("INDF equ 00h"); + + + + +extern volatile unsigned char TMR0 __attribute__((address(0x001))); + +__asm("TMR0 equ 01h"); + + + + +extern volatile unsigned char PCL __attribute__((address(0x002))); + +__asm("PCL equ 02h"); + + + + +extern volatile unsigned char STATUS __attribute__((address(0x003))); + +__asm("STATUS equ 03h"); + + +typedef union { + struct { + unsigned C :1; + unsigned DC :1; + unsigned Z :1; + unsigned nPD :1; + unsigned nTO :1; + unsigned RP :2; + unsigned IRP :1; + }; + struct { + unsigned :5; + unsigned RP0 :1; + unsigned RP1 :1; + }; + struct { + unsigned CARRY :1; + unsigned :1; + unsigned ZERO :1; + }; +} STATUSbits_t; +extern volatile STATUSbits_t STATUSbits __attribute__((address(0x003))); +# 159 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char FSR __attribute__((address(0x004))); + +__asm("FSR equ 04h"); + + + + +extern volatile unsigned char PORTA __attribute__((address(0x005))); + +__asm("PORTA equ 05h"); + + +typedef union { + struct { + unsigned RA0 :1; + unsigned RA1 :1; + unsigned RA2 :1; + unsigned RA3 :1; + unsigned RA4 :1; + unsigned RA5 :1; + unsigned RA6 :1; + unsigned RA7 :1; + }; +} PORTAbits_t; +extern volatile PORTAbits_t PORTAbits __attribute__((address(0x005))); +# 228 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTB __attribute__((address(0x006))); + +__asm("PORTB equ 06h"); + + +typedef union { + struct { + unsigned RB0 :1; + unsigned RB1 :1; + unsigned RB2 :1; + unsigned RB3 :1; + unsigned RB4 :1; + unsigned RB5 :1; + unsigned RB6 :1; + unsigned RB7 :1; + }; +} PORTBbits_t; +extern volatile PORTBbits_t PORTBbits __attribute__((address(0x006))); +# 290 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTC __attribute__((address(0x007))); + +__asm("PORTC equ 07h"); + + +typedef union { + struct { + unsigned RC0 :1; + unsigned RC1 :1; + unsigned RC2 :1; + unsigned RC3 :1; + unsigned RC4 :1; + unsigned RC5 :1; + unsigned RC6 :1; + unsigned RC7 :1; + }; +} PORTCbits_t; +extern volatile PORTCbits_t PORTCbits __attribute__((address(0x007))); +# 352 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTD __attribute__((address(0x008))); + +__asm("PORTD equ 08h"); + + +typedef union { + struct { + unsigned RD0 :1; + unsigned RD1 :1; + unsigned RD2 :1; + unsigned RD3 :1; + unsigned RD4 :1; + unsigned RD5 :1; + unsigned RD6 :1; + unsigned RD7 :1; + }; +} PORTDbits_t; +extern volatile PORTDbits_t PORTDbits __attribute__((address(0x008))); +# 414 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PORTE __attribute__((address(0x009))); + +__asm("PORTE equ 09h"); + + +typedef union { + struct { + unsigned RE0 :1; + unsigned RE1 :1; + unsigned RE2 :1; + unsigned RE3 :1; + }; +} PORTEbits_t; +extern volatile PORTEbits_t PORTEbits __attribute__((address(0x009))); +# 452 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCLATH __attribute__((address(0x00A))); + +__asm("PCLATH equ 0Ah"); + + + + +extern volatile unsigned char INTCON __attribute__((address(0x00B))); + +__asm("INTCON equ 0Bh"); + + +typedef union { + struct { + unsigned RBIF :1; + unsigned INTF :1; + unsigned T0IF :1; + unsigned RBIE :1; + unsigned INTE :1; + unsigned T0IE :1; + unsigned PEIE :1; + unsigned GIE :1; + }; + struct { + unsigned :2; + unsigned TMR0IF :1; + unsigned :2; + unsigned TMR0IE :1; + }; +} INTCONbits_t; +extern volatile INTCONbits_t INTCONbits __attribute__((address(0x00B))); +# 537 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR1 __attribute__((address(0x00C))); + +__asm("PIR1 equ 0Ch"); + + +typedef union { + struct { + unsigned TMR1IF :1; + unsigned TMR2IF :1; + unsigned CCP1IF :1; + unsigned SSPIF :1; + unsigned TXIF :1; + unsigned RCIF :1; + unsigned ADIF :1; + }; +} PIR1bits_t; +extern volatile PIR1bits_t PIR1bits __attribute__((address(0x00C))); +# 593 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIR2 __attribute__((address(0x00D))); + +__asm("PIR2 equ 0Dh"); + + +typedef union { + struct { + unsigned CCP2IF :1; + unsigned :1; + unsigned ULPWUIF :1; + unsigned BCLIF :1; + unsigned EEIF :1; + unsigned C1IF :1; + unsigned C2IF :1; + unsigned OSFIF :1; + }; +} PIR2bits_t; +extern volatile PIR2bits_t PIR2bits __attribute__((address(0x00D))); +# 650 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short TMR1 __attribute__((address(0x00E))); + +__asm("TMR1 equ 0Eh"); + + + + +extern volatile unsigned char TMR1L __attribute__((address(0x00E))); + +__asm("TMR1L equ 0Eh"); + + + + +extern volatile unsigned char TMR1H __attribute__((address(0x00F))); + +__asm("TMR1H equ 0Fh"); + + + + +extern volatile unsigned char T1CON __attribute__((address(0x010))); + +__asm("T1CON equ 010h"); + + +typedef union { + struct { + unsigned TMR1ON :1; + unsigned TMR1CS :1; + unsigned nT1SYNC :1; + unsigned T1OSCEN :1; + unsigned T1CKPS :2; + unsigned TMR1GE :1; + unsigned T1GINV :1; + }; + struct { + unsigned :2; + unsigned T1INSYNC :1; + unsigned :1; + unsigned T1CKPS0 :1; + unsigned T1CKPS1 :1; + unsigned :1; + unsigned T1GIV :1; + }; + struct { + unsigned :2; + unsigned T1SYNC :1; + }; +} T1CONbits_t; +extern volatile T1CONbits_t T1CONbits __attribute__((address(0x010))); +# 765 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TMR2 __attribute__((address(0x011))); + +__asm("TMR2 equ 011h"); + + + + +extern volatile unsigned char T2CON __attribute__((address(0x012))); + +__asm("T2CON equ 012h"); + + +typedef union { + struct { + unsigned T2CKPS :2; + unsigned TMR2ON :1; + unsigned TOUTPS :4; + }; + struct { + unsigned T2CKPS0 :1; + unsigned T2CKPS1 :1; + unsigned :1; + unsigned TOUTPS0 :1; + unsigned TOUTPS1 :1; + unsigned TOUTPS2 :1; + unsigned TOUTPS3 :1; + }; +} T2CONbits_t; +extern volatile T2CONbits_t T2CONbits __attribute__((address(0x012))); +# 843 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPBUF __attribute__((address(0x013))); + +__asm("SSPBUF equ 013h"); + + + + +extern volatile unsigned char SSPCON __attribute__((address(0x014))); + +__asm("SSPCON equ 014h"); + + +typedef union { + struct { + unsigned SSPM :4; + unsigned CKP :1; + unsigned SSPEN :1; + unsigned SSPOV :1; + unsigned WCOL :1; + }; + struct { + unsigned SSPM0 :1; + unsigned SSPM1 :1; + unsigned SSPM2 :1; + unsigned SSPM3 :1; + }; +} SSPCONbits_t; +extern volatile SSPCONbits_t SSPCONbits __attribute__((address(0x014))); +# 920 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned short CCPR1 __attribute__((address(0x015))); + +__asm("CCPR1 equ 015h"); + + + + +extern volatile unsigned char CCPR1L __attribute__((address(0x015))); + +__asm("CCPR1L equ 015h"); + + + + +extern volatile unsigned char CCPR1H __attribute__((address(0x016))); + +__asm("CCPR1H equ 016h"); + + + + +extern volatile unsigned char CCP1CON __attribute__((address(0x017))); + +__asm("CCP1CON equ 017h"); + + +typedef union { + struct { + unsigned CCP1M :4; + unsigned DC1B :2; + unsigned P1M :2; + }; + struct { + unsigned CCP1M0 :1; + unsigned CCP1M1 :1; + unsigned CCP1M2 :1; + unsigned CCP1M3 :1; + unsigned DC1B0 :1; + unsigned DC1B1 :1; + unsigned P1M0 :1; + unsigned P1M1 :1; + }; + struct { + unsigned :4; + unsigned CCP1Y :1; + unsigned CCP1X :1; + }; +} CCP1CONbits_t; +extern volatile CCP1CONbits_t CCP1CONbits __attribute__((address(0x017))); +# 1038 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char RCSTA __attribute__((address(0x018))); + +__asm("RCSTA equ 018h"); + + +typedef union { + struct { + unsigned RX9D :1; + unsigned OERR :1; + unsigned FERR :1; + unsigned ADDEN :1; + unsigned CREN :1; + unsigned SREN :1; + unsigned RX9 :1; + unsigned SPEN :1; + }; + struct { + unsigned RCD8 :1; + unsigned :5; + unsigned RC9 :1; + }; + struct { + unsigned :6; + unsigned nRC8 :1; + }; + struct { + unsigned :6; + unsigned RC8_9 :1; + }; +} RCSTAbits_t; +extern volatile RCSTAbits_t RCSTAbits __attribute__((address(0x018))); +# 1133 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXREG __attribute__((address(0x019))); + +__asm("TXREG equ 019h"); + + + + +extern volatile unsigned char RCREG __attribute__((address(0x01A))); + +__asm("RCREG equ 01Ah"); + + + + +extern volatile unsigned short CCPR2 __attribute__((address(0x01B))); + +__asm("CCPR2 equ 01Bh"); + + + + +extern volatile unsigned char CCPR2L __attribute__((address(0x01B))); + +__asm("CCPR2L equ 01Bh"); + + + + +extern volatile unsigned char CCPR2H __attribute__((address(0x01C))); + +__asm("CCPR2H equ 01Ch"); + + + + +extern volatile unsigned char CCP2CON __attribute__((address(0x01D))); + +__asm("CCP2CON equ 01Dh"); + + +typedef union { + struct { + unsigned CCP2M :4; + unsigned DC2B0 :1; + unsigned DC2B1 :1; + }; + struct { + unsigned CCP2M0 :1; + unsigned CCP2M1 :1; + unsigned CCP2M2 :1; + unsigned CCP2M3 :1; + unsigned CCP2Y :1; + unsigned CCP2X :1; + }; +} CCP2CONbits_t; +extern volatile CCP2CONbits_t CCP2CONbits __attribute__((address(0x01D))); +# 1238 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESH __attribute__((address(0x01E))); + +__asm("ADRESH equ 01Eh"); + + + + +extern volatile unsigned char ADCON0 __attribute__((address(0x01F))); + +__asm("ADCON0 equ 01Fh"); + + +typedef union { + struct { + unsigned ADON :1; + unsigned GO_nDONE :1; + unsigned CHS :4; + unsigned ADCS :2; + }; + struct { + unsigned :1; + unsigned GO :1; + unsigned CHS0 :1; + unsigned CHS1 :1; + unsigned CHS2 :1; + unsigned CHS3 :1; + unsigned ADCS0 :1; + unsigned ADCS1 :1; + }; + struct { + unsigned :1; + unsigned nDONE :1; + }; + struct { + unsigned :1; + unsigned GO_DONE :1; + }; +} ADCON0bits_t; +extern volatile ADCON0bits_t ADCON0bits __attribute__((address(0x01F))); +# 1346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OPTION_REG __attribute__((address(0x081))); + +__asm("OPTION_REG equ 081h"); + + +typedef union { + struct { + unsigned PS :3; + unsigned PSA :1; + unsigned T0SE :1; + unsigned T0CS :1; + unsigned INTEDG :1; + unsigned nRBPU :1; + }; + struct { + unsigned PS0 :1; + unsigned PS1 :1; + unsigned PS2 :1; + }; +} OPTION_REGbits_t; +extern volatile OPTION_REGbits_t OPTION_REGbits __attribute__((address(0x081))); +# 1416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISA __attribute__((address(0x085))); + +__asm("TRISA equ 085h"); + + +typedef union { + struct { + unsigned TRISA0 :1; + unsigned TRISA1 :1; + unsigned TRISA2 :1; + unsigned TRISA3 :1; + unsigned TRISA4 :1; + unsigned TRISA5 :1; + unsigned TRISA6 :1; + unsigned TRISA7 :1; + }; +} TRISAbits_t; +extern volatile TRISAbits_t TRISAbits __attribute__((address(0x085))); +# 1478 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISB __attribute__((address(0x086))); + +__asm("TRISB equ 086h"); + + +typedef union { + struct { + unsigned TRISB0 :1; + unsigned TRISB1 :1; + unsigned TRISB2 :1; + unsigned TRISB3 :1; + unsigned TRISB4 :1; + unsigned TRISB5 :1; + unsigned TRISB6 :1; + unsigned TRISB7 :1; + }; +} TRISBbits_t; +extern volatile TRISBbits_t TRISBbits __attribute__((address(0x086))); +# 1540 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISC __attribute__((address(0x087))); + +__asm("TRISC equ 087h"); + + +typedef union { + struct { + unsigned TRISC0 :1; + unsigned TRISC1 :1; + unsigned TRISC2 :1; + unsigned TRISC3 :1; + unsigned TRISC4 :1; + unsigned TRISC5 :1; + unsigned TRISC6 :1; + unsigned TRISC7 :1; + }; +} TRISCbits_t; +extern volatile TRISCbits_t TRISCbits __attribute__((address(0x087))); +# 1602 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISD __attribute__((address(0x088))); + +__asm("TRISD equ 088h"); + + +typedef union { + struct { + unsigned TRISD0 :1; + unsigned TRISD1 :1; + unsigned TRISD2 :1; + unsigned TRISD3 :1; + unsigned TRISD4 :1; + unsigned TRISD5 :1; + unsigned TRISD6 :1; + unsigned TRISD7 :1; + }; +} TRISDbits_t; +extern volatile TRISDbits_t TRISDbits __attribute__((address(0x088))); +# 1664 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TRISE __attribute__((address(0x089))); + +__asm("TRISE equ 089h"); + + +typedef union { + struct { + unsigned TRISE0 :1; + unsigned TRISE1 :1; + unsigned TRISE2 :1; + unsigned TRISE3 :1; + }; +} TRISEbits_t; +extern volatile TRISEbits_t TRISEbits __attribute__((address(0x089))); +# 1702 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE1 __attribute__((address(0x08C))); + +__asm("PIE1 equ 08Ch"); + + +typedef union { + struct { + unsigned TMR1IE :1; + unsigned TMR2IE :1; + unsigned CCP1IE :1; + unsigned SSPIE :1; + unsigned TXIE :1; + unsigned RCIE :1; + unsigned ADIE :1; + }; +} PIE1bits_t; +extern volatile PIE1bits_t PIE1bits __attribute__((address(0x08C))); +# 1758 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PIE2 __attribute__((address(0x08D))); + +__asm("PIE2 equ 08Dh"); + + +typedef union { + struct { + unsigned CCP2IE :1; + unsigned :1; + unsigned ULPWUIE :1; + unsigned BCLIE :1; + unsigned EEIE :1; + unsigned C1IE :1; + unsigned C2IE :1; + unsigned OSFIE :1; + }; +} PIE2bits_t; +extern volatile PIE2bits_t PIE2bits __attribute__((address(0x08D))); +# 1815 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PCON __attribute__((address(0x08E))); + +__asm("PCON equ 08Eh"); + + +typedef union { + struct { + unsigned nBOR :1; + unsigned nPOR :1; + unsigned :2; + unsigned SBOREN :1; + unsigned ULPWUE :1; + }; + struct { + unsigned nBO :1; + }; +} PCONbits_t; +extern volatile PCONbits_t PCONbits __attribute__((address(0x08E))); +# 1862 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCCON __attribute__((address(0x08F))); + +__asm("OSCCON equ 08Fh"); + + +typedef union { + struct { + unsigned SCS :1; + unsigned LTS :1; + unsigned HTS :1; + unsigned OSTS :1; + unsigned IRCF :3; + }; + struct { + unsigned :4; + unsigned IRCF0 :1; + unsigned IRCF1 :1; + unsigned IRCF2 :1; + }; +} OSCCONbits_t; +extern volatile OSCCONbits_t OSCCONbits __attribute__((address(0x08F))); +# 1927 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char OSCTUNE __attribute__((address(0x090))); + +__asm("OSCTUNE equ 090h"); + + +typedef union { + struct { + unsigned TUN :5; + }; + struct { + unsigned TUN0 :1; + unsigned TUN1 :1; + unsigned TUN2 :1; + unsigned TUN3 :1; + unsigned TUN4 :1; + }; +} OSCTUNEbits_t; +extern volatile OSCTUNEbits_t OSCTUNEbits __attribute__((address(0x090))); +# 1979 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPCON2 __attribute__((address(0x091))); + +__asm("SSPCON2 equ 091h"); + + +typedef union { + struct { + unsigned SEN :1; + unsigned RSEN :1; + unsigned PEN :1; + unsigned RCEN :1; + unsigned ACKEN :1; + unsigned ACKDT :1; + unsigned ACKSTAT :1; + unsigned GCEN :1; + }; +} SSPCON2bits_t; +extern volatile SSPCON2bits_t SSPCON2bits __attribute__((address(0x091))); +# 2041 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PR2 __attribute__((address(0x092))); + +__asm("PR2 equ 092h"); + + + + +extern volatile unsigned char SSPADD __attribute__((address(0x093))); + +__asm("SSPADD equ 093h"); + + + + +extern volatile unsigned char SSPMSK __attribute__((address(0x093))); + +__asm("SSPMSK equ 093h"); + + +extern volatile unsigned char MSK __attribute__((address(0x093))); + +__asm("MSK equ 093h"); + + +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} SSPMSKbits_t; +extern volatile SSPMSKbits_t SSPMSKbits __attribute__((address(0x093))); +# 2120 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +typedef union { + struct { + unsigned MSK0 :1; + unsigned MSK1 :1; + unsigned MSK2 :1; + unsigned MSK3 :1; + unsigned MSK4 :1; + unsigned MSK5 :1; + unsigned MSK6 :1; + unsigned MSK7 :1; + }; +} MSKbits_t; +extern volatile MSKbits_t MSKbits __attribute__((address(0x093))); +# 2177 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SSPSTAT __attribute__((address(0x094))); + +__asm("SSPSTAT equ 094h"); + + +typedef union { + struct { + unsigned BF :1; + unsigned UA :1; + unsigned R_nW :1; + unsigned S :1; + unsigned P :1; + unsigned D_nA :1; + unsigned CKE :1; + unsigned SMP :1; + }; + struct { + unsigned :2; + unsigned R :1; + unsigned :2; + unsigned D :1; + }; + struct { + unsigned :2; + unsigned I2C_READ :1; + unsigned I2C_START :1; + unsigned I2C_STOP :1; + unsigned I2C_DATA :1; + }; + struct { + unsigned :2; + unsigned nW :1; + unsigned :2; + unsigned nA :1; + }; + struct { + unsigned :2; + unsigned nWRITE :1; + unsigned :2; + unsigned nADDRESS :1; + }; + struct { + unsigned :2; + unsigned R_W :1; + unsigned :2; + unsigned D_A :1; + }; + struct { + unsigned :2; + unsigned READ_WRITE :1; + unsigned :2; + unsigned DATA_ADDRESS :1; + }; +} SSPSTATbits_t; +extern volatile SSPSTATbits_t SSPSTATbits __attribute__((address(0x094))); +# 2346 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WPUB __attribute__((address(0x095))); + +__asm("WPUB equ 095h"); + + +typedef union { + struct { + unsigned WPUB :8; + }; + struct { + unsigned WPUB0 :1; + unsigned WPUB1 :1; + unsigned WPUB2 :1; + unsigned WPUB3 :1; + unsigned WPUB4 :1; + unsigned WPUB5 :1; + unsigned WPUB6 :1; + unsigned WPUB7 :1; + }; +} WPUBbits_t; +extern volatile WPUBbits_t WPUBbits __attribute__((address(0x095))); +# 2416 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char IOCB __attribute__((address(0x096))); + +__asm("IOCB equ 096h"); + + +typedef union { + struct { + unsigned IOCB :8; + }; + struct { + unsigned IOCB0 :1; + unsigned IOCB1 :1; + unsigned IOCB2 :1; + unsigned IOCB3 :1; + unsigned IOCB4 :1; + unsigned IOCB5 :1; + unsigned IOCB6 :1; + unsigned IOCB7 :1; + }; +} IOCBbits_t; +extern volatile IOCBbits_t IOCBbits __attribute__((address(0x096))); +# 2486 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char VRCON __attribute__((address(0x097))); + +__asm("VRCON equ 097h"); + + +typedef union { + struct { + unsigned VR :4; + unsigned VRSS :1; + unsigned VRR :1; + unsigned VROE :1; + unsigned VREN :1; + }; + struct { + unsigned VR0 :1; + unsigned VR1 :1; + unsigned VR2 :1; + unsigned VR3 :1; + }; +} VRCONbits_t; +extern volatile VRCONbits_t VRCONbits __attribute__((address(0x097))); +# 2556 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char TXSTA __attribute__((address(0x098))); + +__asm("TXSTA equ 098h"); + + +typedef union { + struct { + unsigned TX9D :1; + unsigned TRMT :1; + unsigned BRGH :1; + unsigned SENDB :1; + unsigned SYNC :1; + unsigned TXEN :1; + unsigned TX9 :1; + unsigned CSRC :1; + }; + struct { + unsigned TXD8 :1; + unsigned :5; + unsigned nTX8 :1; + }; + struct { + unsigned :6; + unsigned TX8_9 :1; + }; +} TXSTAbits_t; +extern volatile TXSTAbits_t TXSTAbits __attribute__((address(0x098))); +# 2642 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRG __attribute__((address(0x099))); + +__asm("SPBRG equ 099h"); + + +typedef union { + struct { + unsigned BRG0 :1; + unsigned BRG1 :1; + unsigned BRG2 :1; + unsigned BRG3 :1; + unsigned BRG4 :1; + unsigned BRG5 :1; + unsigned BRG6 :1; + unsigned BRG7 :1; + }; +} SPBRGbits_t; +extern volatile SPBRGbits_t SPBRGbits __attribute__((address(0x099))); +# 2704 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char SPBRGH __attribute__((address(0x09A))); + +__asm("SPBRGH equ 09Ah"); + + +typedef union { + struct { + unsigned SPBRGH :8; + }; + struct { + unsigned BRG8 :1; + unsigned BRG9 :1; + unsigned BRG10 :1; + unsigned BRG11 :1; + unsigned BRG12 :1; + unsigned BRG13 :1; + unsigned BRG14 :1; + unsigned BRG15 :1; + }; +} SPBRGHbits_t; +extern volatile SPBRGHbits_t SPBRGHbits __attribute__((address(0x09A))); +# 2774 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PWM1CON __attribute__((address(0x09B))); + +__asm("PWM1CON equ 09Bh"); + + +typedef union { + struct { + unsigned PDC :7; + unsigned PRSEN :1; + }; + struct { + unsigned PDC0 :1; + unsigned PDC1 :1; + unsigned PDC2 :1; + unsigned PDC3 :1; + unsigned PDC4 :1; + unsigned PDC5 :1; + unsigned PDC6 :1; + }; +} PWM1CONbits_t; +extern volatile PWM1CONbits_t PWM1CONbits __attribute__((address(0x09B))); +# 2844 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ECCPAS __attribute__((address(0x09C))); + +__asm("ECCPAS equ 09Ch"); + + +typedef union { + struct { + unsigned PSSBD :2; + unsigned PSSAC :2; + unsigned ECCPAS :3; + unsigned ECCPASE :1; + }; + struct { + unsigned PSSBD0 :1; + unsigned PSSBD1 :1; + unsigned PSSAC0 :1; + unsigned PSSAC1 :1; + unsigned ECCPAS0 :1; + unsigned ECCPAS1 :1; + unsigned ECCPAS2 :1; + }; +} ECCPASbits_t; +extern volatile ECCPASbits_t ECCPASbits __attribute__((address(0x09C))); +# 2926 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char PSTRCON __attribute__((address(0x09D))); + +__asm("PSTRCON equ 09Dh"); + + +typedef union { + struct { + unsigned STRA :1; + unsigned STRB :1; + unsigned STRC :1; + unsigned STRD :1; + unsigned STRSYNC :1; + }; +} PSTRCONbits_t; +extern volatile PSTRCONbits_t PSTRCONbits __attribute__((address(0x09D))); +# 2970 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ADRESL __attribute__((address(0x09E))); + +__asm("ADRESL equ 09Eh"); + + + + +extern volatile unsigned char ADCON1 __attribute__((address(0x09F))); + +__asm("ADCON1 equ 09Fh"); + + +typedef union { + struct { + unsigned :4; + unsigned VCFG0 :1; + unsigned VCFG1 :1; + unsigned :1; + unsigned ADFM :1; + }; +} ADCON1bits_t; +extern volatile ADCON1bits_t ADCON1bits __attribute__((address(0x09F))); +# 3011 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char WDTCON __attribute__((address(0x105))); + +__asm("WDTCON equ 0105h"); + + +typedef union { + struct { + unsigned SWDTEN :1; + unsigned WDTPS :4; + }; + struct { + unsigned :1; + unsigned WDTPS0 :1; + unsigned WDTPS1 :1; + unsigned WDTPS2 :1; + unsigned WDTPS3 :1; + }; +} WDTCONbits_t; +extern volatile WDTCONbits_t WDTCONbits __attribute__((address(0x105))); +# 3064 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM1CON0 __attribute__((address(0x107))); + +__asm("CM1CON0 equ 0107h"); + + +typedef union { + struct { + unsigned C1CH :2; + unsigned C1R :1; + unsigned :1; + unsigned C1POL :1; + unsigned C1OE :1; + unsigned C1OUT :1; + unsigned C1ON :1; + }; + struct { + unsigned C1CH0 :1; + unsigned C1CH1 :1; + }; +} CM1CON0bits_t; +extern volatile CM1CON0bits_t CM1CON0bits __attribute__((address(0x107))); +# 3129 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON0 __attribute__((address(0x108))); + +__asm("CM2CON0 equ 0108h"); + + +typedef union { + struct { + unsigned C2CH :2; + unsigned C2R :1; + unsigned :1; + unsigned C2POL :1; + unsigned C2OE :1; + unsigned C2OUT :1; + unsigned C2ON :1; + }; + struct { + unsigned C2CH0 :1; + unsigned C2CH1 :1; + }; +} CM2CON0bits_t; +extern volatile CM2CON0bits_t CM2CON0bits __attribute__((address(0x108))); +# 3194 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char CM2CON1 __attribute__((address(0x109))); + +__asm("CM2CON1 equ 0109h"); + + +typedef union { + struct { + unsigned C2SYNC :1; + unsigned T1GSS :1; + unsigned :2; + unsigned C2RSEL :1; + unsigned C1RSEL :1; + unsigned MC2OUT :1; + unsigned MC1OUT :1; + }; +} CM2CON1bits_t; +extern volatile CM2CON1bits_t CM2CON1bits __attribute__((address(0x109))); +# 3245 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EEDATA __attribute__((address(0x10C))); + +__asm("EEDATA equ 010Ch"); + + +extern volatile unsigned char EEDAT __attribute__((address(0x10C))); + +__asm("EEDAT equ 010Ch"); + + + + +extern volatile unsigned char EEADR __attribute__((address(0x10D))); + +__asm("EEADR equ 010Dh"); + + + + +extern volatile unsigned char EEDATH __attribute__((address(0x10E))); + +__asm("EEDATH equ 010Eh"); + + + + +extern volatile unsigned char EEADRH __attribute__((address(0x10F))); + +__asm("EEADRH equ 010Fh"); + + + + +extern volatile unsigned char SRCON __attribute__((address(0x185))); + +__asm("SRCON equ 0185h"); + + +typedef union { + struct { + unsigned FVREN :1; + unsigned :1; + unsigned PULSR :1; + unsigned PULSS :1; + unsigned C2REN :1; + unsigned C1SEN :1; + unsigned SR0 :1; + unsigned SR1 :1; + }; +} SRCONbits_t; +extern volatile SRCONbits_t SRCONbits __attribute__((address(0x185))); +# 3335 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char BAUDCTL __attribute__((address(0x187))); + +__asm("BAUDCTL equ 0187h"); + + +typedef union { + struct { + unsigned ABDEN :1; + unsigned WUE :1; + unsigned :1; + unsigned BRG16 :1; + unsigned SCKP :1; + unsigned :1; + unsigned RCIDL :1; + unsigned ABDOVF :1; + }; +} BAUDCTLbits_t; +extern volatile BAUDCTLbits_t BAUDCTLbits __attribute__((address(0x187))); +# 3387 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSEL __attribute__((address(0x188))); + +__asm("ANSEL equ 0188h"); + + +typedef union { + struct { + unsigned ANS0 :1; + unsigned ANS1 :1; + unsigned ANS2 :1; + unsigned ANS3 :1; + unsigned ANS4 :1; + unsigned ANS5 :1; + unsigned ANS6 :1; + unsigned ANS7 :1; + }; +} ANSELbits_t; +extern volatile ANSELbits_t ANSELbits __attribute__((address(0x188))); +# 3449 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char ANSELH __attribute__((address(0x189))); + +__asm("ANSELH equ 0189h"); + + +typedef union { + struct { + unsigned ANS8 :1; + unsigned ANS9 :1; + unsigned ANS10 :1; + unsigned ANS11 :1; + unsigned ANS12 :1; + unsigned ANS13 :1; + }; +} ANSELHbits_t; +extern volatile ANSELHbits_t ANSELHbits __attribute__((address(0x189))); +# 3499 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON1 __attribute__((address(0x18C))); + +__asm("EECON1 equ 018Ch"); + + +typedef union { + struct { + unsigned RD :1; + unsigned WR :1; + unsigned WREN :1; + unsigned WRERR :1; + unsigned :3; + unsigned EEPGD :1; + }; +} EECON1bits_t; +extern volatile EECON1bits_t EECON1bits __attribute__((address(0x18C))); +# 3544 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile unsigned char EECON2 __attribute__((address(0x18D))); + +__asm("EECON2 equ 018Dh"); +# 3561 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\proc\\pic16f887.h" 3 +extern volatile __bit ABDEN __attribute__((address(0xC38))); + + +extern volatile __bit ABDOVF __attribute__((address(0xC3F))); + + +extern volatile __bit ACKDT __attribute__((address(0x48D))); + + +extern volatile __bit ACKEN __attribute__((address(0x48C))); + + +extern volatile __bit ACKSTAT __attribute__((address(0x48E))); + + +extern volatile __bit ADCS0 __attribute__((address(0xFE))); + + +extern volatile __bit ADCS1 __attribute__((address(0xFF))); + + +extern volatile __bit ADDEN __attribute__((address(0xC3))); + + +extern volatile __bit ADFM __attribute__((address(0x4FF))); + + +extern volatile __bit ADIE __attribute__((address(0x466))); + + +extern volatile __bit ADIF __attribute__((address(0x66))); + + +extern volatile __bit ADON __attribute__((address(0xF8))); + + +extern volatile __bit ANS0 __attribute__((address(0xC40))); + + +extern volatile __bit ANS1 __attribute__((address(0xC41))); + + +extern volatile __bit ANS10 __attribute__((address(0xC4A))); + + +extern volatile __bit ANS11 __attribute__((address(0xC4B))); + + +extern volatile __bit ANS12 __attribute__((address(0xC4C))); + + +extern volatile __bit ANS13 __attribute__((address(0xC4D))); + + +extern volatile __bit ANS2 __attribute__((address(0xC42))); + + +extern volatile __bit ANS3 __attribute__((address(0xC43))); + + +extern volatile __bit ANS4 __attribute__((address(0xC44))); + + +extern volatile __bit ANS5 __attribute__((address(0xC45))); + + +extern volatile __bit ANS6 __attribute__((address(0xC46))); + + +extern volatile __bit ANS7 __attribute__((address(0xC47))); + + +extern volatile __bit ANS8 __attribute__((address(0xC48))); + + +extern volatile __bit ANS9 __attribute__((address(0xC49))); + + +extern volatile __bit BCLIE __attribute__((address(0x46B))); + + +extern volatile __bit BCLIF __attribute__((address(0x6B))); + + +extern volatile __bit BF __attribute__((address(0x4A0))); + + +extern volatile __bit BRG0 __attribute__((address(0x4C8))); + + +extern volatile __bit BRG1 __attribute__((address(0x4C9))); + + +extern volatile __bit BRG10 __attribute__((address(0x4D2))); + + +extern volatile __bit BRG11 __attribute__((address(0x4D3))); + + +extern volatile __bit BRG12 __attribute__((address(0x4D4))); + + +extern volatile __bit BRG13 __attribute__((address(0x4D5))); + + +extern volatile __bit BRG14 __attribute__((address(0x4D6))); + + +extern volatile __bit BRG15 __attribute__((address(0x4D7))); + + +extern volatile __bit BRG16 __attribute__((address(0xC3B))); + + +extern volatile __bit BRG2 __attribute__((address(0x4CA))); + + +extern volatile __bit BRG3 __attribute__((address(0x4CB))); + + +extern volatile __bit BRG4 __attribute__((address(0x4CC))); + + +extern volatile __bit BRG5 __attribute__((address(0x4CD))); + + +extern volatile __bit BRG6 __attribute__((address(0x4CE))); + + +extern volatile __bit BRG7 __attribute__((address(0x4CF))); + + +extern volatile __bit BRG8 __attribute__((address(0x4D0))); + + +extern volatile __bit BRG9 __attribute__((address(0x4D1))); + + +extern volatile __bit BRGH __attribute__((address(0x4C2))); + + +extern volatile __bit C1CH0 __attribute__((address(0x838))); + + +extern volatile __bit C1CH1 __attribute__((address(0x839))); + + +extern volatile __bit C1IE __attribute__((address(0x46D))); + + +extern volatile __bit C1IF __attribute__((address(0x6D))); + + +extern volatile __bit C1OE __attribute__((address(0x83D))); + + +extern volatile __bit C1ON __attribute__((address(0x83F))); + + +extern volatile __bit C1OUT __attribute__((address(0x83E))); + + +extern volatile __bit C1POL __attribute__((address(0x83C))); + + +extern volatile __bit C1R __attribute__((address(0x83A))); + + +extern volatile __bit C1RSEL __attribute__((address(0x84D))); + + +extern volatile __bit C1SEN __attribute__((address(0xC2D))); + + +extern volatile __bit C2CH0 __attribute__((address(0x840))); + + +extern volatile __bit C2CH1 __attribute__((address(0x841))); + + +extern volatile __bit C2IE __attribute__((address(0x46E))); + + +extern volatile __bit C2IF __attribute__((address(0x6E))); + + +extern volatile __bit C2OE __attribute__((address(0x845))); + + +extern volatile __bit C2ON __attribute__((address(0x847))); + + +extern volatile __bit C2OUT __attribute__((address(0x846))); + + +extern volatile __bit C2POL __attribute__((address(0x844))); + + +extern volatile __bit C2R __attribute__((address(0x842))); + + +extern volatile __bit C2REN __attribute__((address(0xC2C))); + + +extern volatile __bit C2RSEL __attribute__((address(0x84C))); + + +extern volatile __bit C2SYNC __attribute__((address(0x848))); + + +extern volatile __bit CARRY __attribute__((address(0x18))); + + +extern volatile __bit CCP1IE __attribute__((address(0x462))); + + +extern volatile __bit CCP1IF __attribute__((address(0x62))); + + +extern volatile __bit CCP1M0 __attribute__((address(0xB8))); + + +extern volatile __bit CCP1M1 __attribute__((address(0xB9))); + + +extern volatile __bit CCP1M2 __attribute__((address(0xBA))); + + +extern volatile __bit CCP1M3 __attribute__((address(0xBB))); + + +extern volatile __bit CCP1X __attribute__((address(0xBD))); + + +extern volatile __bit CCP1Y __attribute__((address(0xBC))); + + +extern volatile __bit CCP2IE __attribute__((address(0x468))); + + +extern volatile __bit CCP2IF __attribute__((address(0x68))); + + +extern volatile __bit CCP2M0 __attribute__((address(0xE8))); + + +extern volatile __bit CCP2M1 __attribute__((address(0xE9))); + + +extern volatile __bit CCP2M2 __attribute__((address(0xEA))); + + +extern volatile __bit CCP2M3 __attribute__((address(0xEB))); + + +extern volatile __bit CCP2X __attribute__((address(0xED))); + + +extern volatile __bit CCP2Y __attribute__((address(0xEC))); + + +extern volatile __bit CHS0 __attribute__((address(0xFA))); + + +extern volatile __bit CHS1 __attribute__((address(0xFB))); + + +extern volatile __bit CHS2 __attribute__((address(0xFC))); + + +extern volatile __bit CHS3 __attribute__((address(0xFD))); + + +extern volatile __bit CKE __attribute__((address(0x4A6))); + + +extern volatile __bit CKP __attribute__((address(0xA4))); + + +extern volatile __bit CREN __attribute__((address(0xC4))); + + +extern volatile __bit CSRC __attribute__((address(0x4C7))); + + +extern volatile __bit DATA_ADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit DC __attribute__((address(0x19))); + + +extern volatile __bit DC1B0 __attribute__((address(0xBC))); + + +extern volatile __bit DC1B1 __attribute__((address(0xBD))); + + +extern volatile __bit DC2B0 __attribute__((address(0xEC))); + + +extern volatile __bit DC2B1 __attribute__((address(0xED))); + + +extern volatile __bit D_A __attribute__((address(0x4A5))); + + +extern volatile __bit D_nA __attribute__((address(0x4A5))); + + +extern volatile __bit ECCPAS0 __attribute__((address(0x4E4))); + + +extern volatile __bit ECCPAS1 __attribute__((address(0x4E5))); + + +extern volatile __bit ECCPAS2 __attribute__((address(0x4E6))); + + +extern volatile __bit ECCPASE __attribute__((address(0x4E7))); + + +extern volatile __bit EEIE __attribute__((address(0x46C))); + + +extern volatile __bit EEIF __attribute__((address(0x6C))); + + +extern volatile __bit EEPGD __attribute__((address(0xC67))); + + +extern volatile __bit FERR __attribute__((address(0xC2))); + + +extern volatile __bit FVREN __attribute__((address(0xC28))); + + +extern volatile __bit GCEN __attribute__((address(0x48F))); + + +extern volatile __bit GIE __attribute__((address(0x5F))); + + +extern volatile __bit GO __attribute__((address(0xF9))); + + +extern volatile __bit GO_DONE __attribute__((address(0xF9))); + + +extern volatile __bit GO_nDONE __attribute__((address(0xF9))); + + +extern volatile __bit HTS __attribute__((address(0x47A))); + + +extern volatile __bit I2C_DATA __attribute__((address(0x4A5))); + + +extern volatile __bit I2C_READ __attribute__((address(0x4A2))); + + +extern volatile __bit I2C_START __attribute__((address(0x4A3))); + + +extern volatile __bit I2C_STOP __attribute__((address(0x4A4))); + + +extern volatile __bit INTE __attribute__((address(0x5C))); + + +extern volatile __bit INTEDG __attribute__((address(0x40E))); + + +extern volatile __bit INTF __attribute__((address(0x59))); + + +extern volatile __bit IOCB0 __attribute__((address(0x4B0))); + + +extern volatile __bit IOCB1 __attribute__((address(0x4B1))); + + +extern volatile __bit IOCB2 __attribute__((address(0x4B2))); + + +extern volatile __bit IOCB3 __attribute__((address(0x4B3))); + + +extern volatile __bit IOCB4 __attribute__((address(0x4B4))); + + +extern volatile __bit IOCB5 __attribute__((address(0x4B5))); + + +extern volatile __bit IOCB6 __attribute__((address(0x4B6))); + + +extern volatile __bit IOCB7 __attribute__((address(0x4B7))); + + +extern volatile __bit IRCF0 __attribute__((address(0x47C))); + + +extern volatile __bit IRCF1 __attribute__((address(0x47D))); + + +extern volatile __bit IRCF2 __attribute__((address(0x47E))); + + +extern volatile __bit IRP __attribute__((address(0x1F))); + + +extern volatile __bit LTS __attribute__((address(0x479))); + + +extern volatile __bit MC1OUT __attribute__((address(0x84F))); + + +extern volatile __bit MC2OUT __attribute__((address(0x84E))); + + +extern volatile __bit MSK0 __attribute__((address(0x498))); + + +extern volatile __bit MSK1 __attribute__((address(0x499))); + + +extern volatile __bit MSK2 __attribute__((address(0x49A))); + + +extern volatile __bit MSK3 __attribute__((address(0x49B))); + + +extern volatile __bit MSK4 __attribute__((address(0x49C))); + + +extern volatile __bit MSK5 __attribute__((address(0x49D))); + + +extern volatile __bit MSK6 __attribute__((address(0x49E))); + + +extern volatile __bit MSK7 __attribute__((address(0x49F))); + + +extern volatile __bit OERR __attribute__((address(0xC1))); + + +extern volatile __bit OSFIE __attribute__((address(0x46F))); + + +extern volatile __bit OSFIF __attribute__((address(0x6F))); + + +extern volatile __bit OSTS __attribute__((address(0x47B))); + + +extern volatile __bit P1M0 __attribute__((address(0xBE))); + + +extern volatile __bit P1M1 __attribute__((address(0xBF))); + + +extern volatile __bit PDC0 __attribute__((address(0x4D8))); + + +extern volatile __bit PDC1 __attribute__((address(0x4D9))); + + +extern volatile __bit PDC2 __attribute__((address(0x4DA))); + + +extern volatile __bit PDC3 __attribute__((address(0x4DB))); + + +extern volatile __bit PDC4 __attribute__((address(0x4DC))); + + +extern volatile __bit PDC5 __attribute__((address(0x4DD))); + + +extern volatile __bit PDC6 __attribute__((address(0x4DE))); + + +extern volatile __bit PEIE __attribute__((address(0x5E))); + + +extern volatile __bit PEN __attribute__((address(0x48A))); + + +extern volatile __bit PRSEN __attribute__((address(0x4DF))); + + +extern volatile __bit PS0 __attribute__((address(0x408))); + + +extern volatile __bit PS1 __attribute__((address(0x409))); + + +extern volatile __bit PS2 __attribute__((address(0x40A))); + + +extern volatile __bit PSA __attribute__((address(0x40B))); + + +extern volatile __bit PSSAC0 __attribute__((address(0x4E2))); + + +extern volatile __bit PSSAC1 __attribute__((address(0x4E3))); + + +extern volatile __bit PSSBD0 __attribute__((address(0x4E0))); + + +extern volatile __bit PSSBD1 __attribute__((address(0x4E1))); + + +extern volatile __bit PULSR __attribute__((address(0xC2A))); + + +extern volatile __bit PULSS __attribute__((address(0xC2B))); + + +extern volatile __bit RA0 __attribute__((address(0x28))); + + +extern volatile __bit RA1 __attribute__((address(0x29))); + + +extern volatile __bit RA2 __attribute__((address(0x2A))); + + +extern volatile __bit RA3 __attribute__((address(0x2B))); + + +extern volatile __bit RA4 __attribute__((address(0x2C))); + + +extern volatile __bit RA5 __attribute__((address(0x2D))); + + +extern volatile __bit RA6 __attribute__((address(0x2E))); + + +extern volatile __bit RA7 __attribute__((address(0x2F))); + + +extern volatile __bit RB0 __attribute__((address(0x30))); + + +extern volatile __bit RB1 __attribute__((address(0x31))); + + +extern volatile __bit RB2 __attribute__((address(0x32))); + + +extern volatile __bit RB3 __attribute__((address(0x33))); + + +extern volatile __bit RB4 __attribute__((address(0x34))); + + +extern volatile __bit RB5 __attribute__((address(0x35))); + + +extern volatile __bit RB6 __attribute__((address(0x36))); + + +extern volatile __bit RB7 __attribute__((address(0x37))); + + +extern volatile __bit RBIE __attribute__((address(0x5B))); + + +extern volatile __bit RBIF __attribute__((address(0x58))); + + +extern volatile __bit RC0 __attribute__((address(0x38))); + + +extern volatile __bit RC1 __attribute__((address(0x39))); + + +extern volatile __bit RC2 __attribute__((address(0x3A))); + + +extern volatile __bit RC3 __attribute__((address(0x3B))); + + +extern volatile __bit RC4 __attribute__((address(0x3C))); + + +extern volatile __bit RC5 __attribute__((address(0x3D))); + + +extern volatile __bit RC6 __attribute__((address(0x3E))); + + +extern volatile __bit RC7 __attribute__((address(0x3F))); + + +extern volatile __bit RC8_9 __attribute__((address(0xC6))); + + +extern volatile __bit RC9 __attribute__((address(0xC6))); + + +extern volatile __bit RCD8 __attribute__((address(0xC0))); + + +extern volatile __bit RCEN __attribute__((address(0x48B))); + + +extern volatile __bit RCIDL __attribute__((address(0xC3E))); + + +extern volatile __bit RCIE __attribute__((address(0x465))); + + +extern volatile __bit RCIF __attribute__((address(0x65))); + + +extern volatile __bit RD __attribute__((address(0xC60))); + + +extern volatile __bit RD0 __attribute__((address(0x40))); + + +extern volatile __bit RD1 __attribute__((address(0x41))); + + +extern volatile __bit RD2 __attribute__((address(0x42))); + + +extern volatile __bit RD3 __attribute__((address(0x43))); + + +extern volatile __bit RD4 __attribute__((address(0x44))); + + +extern volatile __bit RD5 __attribute__((address(0x45))); + + +extern volatile __bit RD6 __attribute__((address(0x46))); + + +extern volatile __bit RD7 __attribute__((address(0x47))); + + +extern volatile __bit RE0 __attribute__((address(0x48))); + + +extern volatile __bit RE1 __attribute__((address(0x49))); + + +extern volatile __bit RE2 __attribute__((address(0x4A))); + + +extern volatile __bit RE3 __attribute__((address(0x4B))); + + +extern volatile __bit READ_WRITE __attribute__((address(0x4A2))); + + +extern volatile __bit RP0 __attribute__((address(0x1D))); + + +extern volatile __bit RP1 __attribute__((address(0x1E))); + + +extern volatile __bit RSEN __attribute__((address(0x489))); + + +extern volatile __bit RX9 __attribute__((address(0xC6))); + + +extern volatile __bit RX9D __attribute__((address(0xC0))); + + +extern volatile __bit R_W __attribute__((address(0x4A2))); + + +extern volatile __bit R_nW __attribute__((address(0x4A2))); + + +extern volatile __bit SBOREN __attribute__((address(0x474))); + + +extern volatile __bit SCKP __attribute__((address(0xC3C))); + + +extern volatile __bit SCS __attribute__((address(0x478))); + + +extern volatile __bit SEN __attribute__((address(0x488))); + + +extern volatile __bit SENDB __attribute__((address(0x4C3))); + + +extern volatile __bit SMP __attribute__((address(0x4A7))); + + +extern volatile __bit SPEN __attribute__((address(0xC7))); + + +extern volatile __bit SR0 __attribute__((address(0xC2E))); + + +extern volatile __bit SR1 __attribute__((address(0xC2F))); + + +extern volatile __bit SREN __attribute__((address(0xC5))); + + +extern volatile __bit SSPEN __attribute__((address(0xA5))); + + +extern volatile __bit SSPIE __attribute__((address(0x463))); + + +extern volatile __bit SSPIF __attribute__((address(0x63))); + + +extern volatile __bit SSPM0 __attribute__((address(0xA0))); + + +extern volatile __bit SSPM1 __attribute__((address(0xA1))); + + +extern volatile __bit SSPM2 __attribute__((address(0xA2))); + + +extern volatile __bit SSPM3 __attribute__((address(0xA3))); + + +extern volatile __bit SSPOV __attribute__((address(0xA6))); + + +extern volatile __bit STRA __attribute__((address(0x4E8))); + + +extern volatile __bit STRB __attribute__((address(0x4E9))); + + +extern volatile __bit STRC __attribute__((address(0x4EA))); + + +extern volatile __bit STRD __attribute__((address(0x4EB))); + + +extern volatile __bit STRSYNC __attribute__((address(0x4EC))); + + +extern volatile __bit SWDTEN __attribute__((address(0x828))); + + +extern volatile __bit SYNC __attribute__((address(0x4C4))); + + +extern volatile __bit T0CS __attribute__((address(0x40D))); + + +extern volatile __bit T0IE __attribute__((address(0x5D))); + + +extern volatile __bit T0IF __attribute__((address(0x5A))); + + +extern volatile __bit T0SE __attribute__((address(0x40C))); + + +extern volatile __bit T1CKPS0 __attribute__((address(0x84))); + + +extern volatile __bit T1CKPS1 __attribute__((address(0x85))); + + +extern volatile __bit T1GINV __attribute__((address(0x87))); + + +extern volatile __bit T1GIV __attribute__((address(0x87))); + + +extern volatile __bit T1GSS __attribute__((address(0x849))); + + +extern volatile __bit T1INSYNC __attribute__((address(0x82))); + + +extern volatile __bit T1OSCEN __attribute__((address(0x83))); + + +extern volatile __bit T1SYNC __attribute__((address(0x82))); + + +extern volatile __bit T2CKPS0 __attribute__((address(0x90))); + + +extern volatile __bit T2CKPS1 __attribute__((address(0x91))); + + +extern volatile __bit TMR0IE __attribute__((address(0x5D))); + + +extern volatile __bit TMR0IF __attribute__((address(0x5A))); + + +extern volatile __bit TMR1CS __attribute__((address(0x81))); + + +extern volatile __bit TMR1GE __attribute__((address(0x86))); + + +extern volatile __bit TMR1IE __attribute__((address(0x460))); + + +extern volatile __bit TMR1IF __attribute__((address(0x60))); + + +extern volatile __bit TMR1ON __attribute__((address(0x80))); + + +extern volatile __bit TMR2IE __attribute__((address(0x461))); + + +extern volatile __bit TMR2IF __attribute__((address(0x61))); + + +extern volatile __bit TMR2ON __attribute__((address(0x92))); + + +extern volatile __bit TOUTPS0 __attribute__((address(0x93))); + + +extern volatile __bit TOUTPS1 __attribute__((address(0x94))); + + +extern volatile __bit TOUTPS2 __attribute__((address(0x95))); + + +extern volatile __bit TOUTPS3 __attribute__((address(0x96))); + + +extern volatile __bit TRISA0 __attribute__((address(0x428))); + + +extern volatile __bit TRISA1 __attribute__((address(0x429))); + + +extern volatile __bit TRISA2 __attribute__((address(0x42A))); + + +extern volatile __bit TRISA3 __attribute__((address(0x42B))); + + +extern volatile __bit TRISA4 __attribute__((address(0x42C))); + + +extern volatile __bit TRISA5 __attribute__((address(0x42D))); + + +extern volatile __bit TRISA6 __attribute__((address(0x42E))); + + +extern volatile __bit TRISA7 __attribute__((address(0x42F))); + + +extern volatile __bit TRISB0 __attribute__((address(0x430))); + + +extern volatile __bit TRISB1 __attribute__((address(0x431))); + + +extern volatile __bit TRISB2 __attribute__((address(0x432))); + + +extern volatile __bit TRISB3 __attribute__((address(0x433))); + + +extern volatile __bit TRISB4 __attribute__((address(0x434))); + + +extern volatile __bit TRISB5 __attribute__((address(0x435))); + + +extern volatile __bit TRISB6 __attribute__((address(0x436))); + + +extern volatile __bit TRISB7 __attribute__((address(0x437))); + + +extern volatile __bit TRISC0 __attribute__((address(0x438))); + + +extern volatile __bit TRISC1 __attribute__((address(0x439))); + + +extern volatile __bit TRISC2 __attribute__((address(0x43A))); + + +extern volatile __bit TRISC3 __attribute__((address(0x43B))); + + +extern volatile __bit TRISC4 __attribute__((address(0x43C))); + + +extern volatile __bit TRISC5 __attribute__((address(0x43D))); + + +extern volatile __bit TRISC6 __attribute__((address(0x43E))); + + +extern volatile __bit TRISC7 __attribute__((address(0x43F))); + + +extern volatile __bit TRISD0 __attribute__((address(0x440))); + + +extern volatile __bit TRISD1 __attribute__((address(0x441))); + + +extern volatile __bit TRISD2 __attribute__((address(0x442))); + + +extern volatile __bit TRISD3 __attribute__((address(0x443))); + + +extern volatile __bit TRISD4 __attribute__((address(0x444))); + + +extern volatile __bit TRISD5 __attribute__((address(0x445))); + + +extern volatile __bit TRISD6 __attribute__((address(0x446))); + + +extern volatile __bit TRISD7 __attribute__((address(0x447))); + + +extern volatile __bit TRISE0 __attribute__((address(0x448))); + + +extern volatile __bit TRISE1 __attribute__((address(0x449))); + + +extern volatile __bit TRISE2 __attribute__((address(0x44A))); + + +extern volatile __bit TRISE3 __attribute__((address(0x44B))); + + +extern volatile __bit TRMT __attribute__((address(0x4C1))); + + +extern volatile __bit TUN0 __attribute__((address(0x480))); + + +extern volatile __bit TUN1 __attribute__((address(0x481))); + + +extern volatile __bit TUN2 __attribute__((address(0x482))); + + +extern volatile __bit TUN3 __attribute__((address(0x483))); + + +extern volatile __bit TUN4 __attribute__((address(0x484))); + + +extern volatile __bit TX8_9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9 __attribute__((address(0x4C6))); + + +extern volatile __bit TX9D __attribute__((address(0x4C0))); + + +extern volatile __bit TXD8 __attribute__((address(0x4C0))); + + +extern volatile __bit TXEN __attribute__((address(0x4C5))); + + +extern volatile __bit TXIE __attribute__((address(0x464))); + + +extern volatile __bit TXIF __attribute__((address(0x64))); + + +extern volatile __bit UA __attribute__((address(0x4A1))); + + +extern volatile __bit ULPWUE __attribute__((address(0x475))); + + +extern volatile __bit ULPWUIE __attribute__((address(0x46A))); + + +extern volatile __bit ULPWUIF __attribute__((address(0x6A))); + + +extern volatile __bit VCFG0 __attribute__((address(0x4FC))); + + +extern volatile __bit VCFG1 __attribute__((address(0x4FD))); + + +extern volatile __bit VR0 __attribute__((address(0x4B8))); + + +extern volatile __bit VR1 __attribute__((address(0x4B9))); + + +extern volatile __bit VR2 __attribute__((address(0x4BA))); + + +extern volatile __bit VR3 __attribute__((address(0x4BB))); + + +extern volatile __bit VREN __attribute__((address(0x4BF))); + + +extern volatile __bit VROE __attribute__((address(0x4BE))); + + +extern volatile __bit VRR __attribute__((address(0x4BD))); + + +extern volatile __bit VRSS __attribute__((address(0x4BC))); + + +extern volatile __bit WCOL __attribute__((address(0xA7))); + + +extern volatile __bit WDTPS0 __attribute__((address(0x829))); + + +extern volatile __bit WDTPS1 __attribute__((address(0x82A))); + + +extern volatile __bit WDTPS2 __attribute__((address(0x82B))); + + +extern volatile __bit WDTPS3 __attribute__((address(0x82C))); + + +extern volatile __bit WPUB0 __attribute__((address(0x4A8))); + + +extern volatile __bit WPUB1 __attribute__((address(0x4A9))); + + +extern volatile __bit WPUB2 __attribute__((address(0x4AA))); + + +extern volatile __bit WPUB3 __attribute__((address(0x4AB))); + + +extern volatile __bit WPUB4 __attribute__((address(0x4AC))); + + +extern volatile __bit WPUB5 __attribute__((address(0x4AD))); + + +extern volatile __bit WPUB6 __attribute__((address(0x4AE))); + + +extern volatile __bit WPUB7 __attribute__((address(0x4AF))); + + +extern volatile __bit WR __attribute__((address(0xC61))); + + +extern volatile __bit WREN __attribute__((address(0xC62))); + + +extern volatile __bit WRERR __attribute__((address(0xC63))); + + +extern volatile __bit WUE __attribute__((address(0xC39))); + + +extern volatile __bit ZERO __attribute__((address(0x1A))); + + +extern volatile __bit nA __attribute__((address(0x4A5))); + + +extern volatile __bit nADDRESS __attribute__((address(0x4A5))); + + +extern volatile __bit nBO __attribute__((address(0x470))); + + +extern volatile __bit nBOR __attribute__((address(0x470))); + + +extern volatile __bit nDONE __attribute__((address(0xF9))); + + +extern volatile __bit nPD __attribute__((address(0x1B))); + + +extern volatile __bit nPOR __attribute__((address(0x471))); + + +extern volatile __bit nRBPU __attribute__((address(0x40F))); + + +extern volatile __bit nRC8 __attribute__((address(0xC6))); + + +extern volatile __bit nT1SYNC __attribute__((address(0x82))); + + +extern volatile __bit nTO __attribute__((address(0x1C))); + + +extern volatile __bit nTX8 __attribute__((address(0x4C6))); + + +extern volatile __bit nW __attribute__((address(0x4A2))); + + +extern volatile __bit nWRITE __attribute__((address(0x4A2))); +# 725 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic_chip_select.h" 2 3 +# 14 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 76 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +__attribute__((__unsupported__("The " "FLASH_READ" " macro function is no longer supported. Please use the MPLAB X MCC."))) unsigned char __flash_read(unsigned short addr); + +__attribute__((__unsupported__("The " "FLASH_WRITE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_write(unsigned short addr, unsigned short data); + +__attribute__((__unsupported__("The " "FLASH_ERASE" " macro function is no longer supported. Please use the MPLAB X MCC."))) void __flash_erase(unsigned short addr); + + + +# 1 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 1 3 +# 114 "C:\\Program Files\\Microchip\\xc8\\v2.45\\pic\\include\\eeprom_routines.h" 3 +extern void eeprom_write(unsigned char addr, unsigned char value); +extern unsigned char eeprom_read(unsigned char addr); +# 84 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 2 3 +# 118 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\pic.h" 3 +extern __bank0 unsigned char __resetbits; +extern __bank0 __bit __powerdown; +extern __bank0 __bit __timeout; +# 29 "C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\\pic\\include\\xc.h" 2 3 +# 5 "src/../include/config.h" 2 + + + + +#pragma config FOSC = INTRC_NOCLKOUT +#pragma config WDTE = OFF +#pragma config PWRTE = ON +#pragma config MCLRE = OFF +#pragma config CP = OFF +#pragma config CPD = OFF +#pragma config BOREN = ON +#pragma config IESO = OFF +#pragma config FCMEN = OFF +#pragma config LVP = OFF +#pragma config BOR4V = BOR40V +#pragma config WRT = OFF +# 2 "src/rotary_encoder.c" 2 + + + +# 1 "src/../include/rotary_encoder.h" 1 + + + +typedef enum { ROTATE_LEFT = 1, ROTATE_RIGHT = 2 } RotaryEncoderStates; + + +void parse_rotary(char pinA, char pinB, char *counter, char max, char min); +# 5 "src/rotary_encoder.c" 2 + + +void parse_rotary(char pinA, char pinB, char* counter, char max, char min) { + + static unsigned char prevState; + unsigned char state; + + + _delay((unsigned long)((1)*(500000/4000.0))); + + + state = (unsigned char)(pinB << 1 | pinA); + + + if (prevState == 0) { + if (state == ROTATE_LEFT) (*counter)--; + else if (state == ROTATE_RIGHT) (*counter)++; + } + + + if (*counter > max) *counter = min; + else if (*counter < min) *counter = max; + + + + prevState = state; + PORTB = PORTB; +} diff --git a/build/default/production/src/rotary_encoder.p1 b/build/default/production/src/rotary_encoder.p1 new file mode 100644 index 0000000..cba11db --- /dev/null +++ b/build/default/production/src/rotary_encoder.p1 @@ -0,0 +1,335 @@ +Version 4.0 HI-TECH Software Intermediate Code +[v F164 `(v ~T0 @X0 1 tf1`ul ] +"12 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\builtins.h +[v __delay `JF164 ~T0 @X0 0 e ] +[p i __delay ] +"20 src/rotary_encoder.c +[; ;src/rotary_encoder.c: 20: if (state == ROTATE_LEFT) (*counter)--; +[c E1420 1 2 .. ] +[n E1420 . ROTATE_LEFT ROTATE_RIGHT ] +"228 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 228: extern volatile unsigned char PORTB __attribute__((address(0x006))); +[v _PORTB `Vuc ~T0 @X0 0 e@6 ] +"54 C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 54: __asm("INDF equ 00h"); +[; <" INDF equ 00h ;# "> +"61 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 61: __asm("TMR0 equ 01h"); +[; <" TMR0 equ 01h ;# "> +"68 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 68: __asm("PCL equ 02h"); +[; <" PCL equ 02h ;# "> +"75 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 75: __asm("STATUS equ 03h"); +[; <" STATUS equ 03h ;# "> +"161 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 161: __asm("FSR equ 04h"); +[; <" FSR equ 04h ;# "> +"168 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 168: __asm("PORTA equ 05h"); +[; <" PORTA equ 05h ;# "> +"230 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 230: __asm("PORTB equ 06h"); +[; <" PORTB equ 06h ;# "> +"292 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 292: __asm("PORTC equ 07h"); +[; <" PORTC equ 07h ;# "> +"354 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 354: __asm("PORTD equ 08h"); +[; <" PORTD equ 08h ;# "> +"416 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 416: __asm("PORTE equ 09h"); +[; <" PORTE equ 09h ;# "> +"454 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 454: __asm("PCLATH equ 0Ah"); +[; <" PCLATH equ 0Ah ;# "> +"461 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 461: __asm("INTCON equ 0Bh"); +[; <" INTCON equ 0Bh ;# "> +"539 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 539: __asm("PIR1 equ 0Ch"); +[; <" PIR1 equ 0Ch ;# "> +"595 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 595: __asm("PIR2 equ 0Dh"); +[; <" PIR2 equ 0Dh ;# "> +"652 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 652: __asm("TMR1 equ 0Eh"); +[; <" TMR1 equ 0Eh ;# "> +"659 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 659: __asm("TMR1L equ 0Eh"); +[; <" TMR1L equ 0Eh ;# "> +"666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 666: __asm("TMR1H equ 0Fh"); +[; <" TMR1H equ 0Fh ;# "> +"673 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 673: __asm("T1CON equ 010h"); +[; <" T1CON equ 010h ;# "> +"767 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 767: __asm("TMR2 equ 011h"); +[; <" TMR2 equ 011h ;# "> +"774 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 774: __asm("T2CON equ 012h"); +[; <" T2CON equ 012h ;# "> +"845 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 845: __asm("SSPBUF equ 013h"); +[; <" SSPBUF equ 013h ;# "> +"852 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 852: __asm("SSPCON equ 014h"); +[; <" SSPCON equ 014h ;# "> +"922 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 922: __asm("CCPR1 equ 015h"); +[; <" CCPR1 equ 015h ;# "> +"929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 929: __asm("CCPR1L equ 015h"); +[; <" CCPR1L equ 015h ;# "> +"936 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 936: __asm("CCPR1H equ 016h"); +[; <" CCPR1H equ 016h ;# "> +"943 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 943: __asm("CCP1CON equ 017h"); +[; <" CCP1CON equ 017h ;# "> +"1040 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1040: __asm("RCSTA equ 018h"); +[; <" RCSTA equ 018h ;# "> +"1135 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1135: __asm("TXREG equ 019h"); +[; <" TXREG equ 019h ;# "> +"1142 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1142: __asm("RCREG equ 01Ah"); +[; <" RCREG equ 01Ah ;# "> +"1149 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1149: __asm("CCPR2 equ 01Bh"); +[; <" CCPR2 equ 01Bh ;# "> +"1156 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1156: __asm("CCPR2L equ 01Bh"); +[; <" CCPR2L equ 01Bh ;# "> +"1163 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1163: __asm("CCPR2H equ 01Ch"); +[; <" CCPR2H equ 01Ch ;# "> +"1170 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1170: __asm("CCP2CON equ 01Dh"); +[; <" CCP2CON equ 01Dh ;# "> +"1240 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1240: __asm("ADRESH equ 01Eh"); +[; <" ADRESH equ 01Eh ;# "> +"1247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1247: __asm("ADCON0 equ 01Fh"); +[; <" ADCON0 equ 01Fh ;# "> +"1348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1348: __asm("OPTION_REG equ 081h"); +[; <" OPTION_REG equ 081h ;# "> +"1418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1418: __asm("TRISA equ 085h"); +[; <" TRISA equ 085h ;# "> +"1480 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1480: __asm("TRISB equ 086h"); +[; <" TRISB equ 086h ;# "> +"1542 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1542: __asm("TRISC equ 087h"); +[; <" TRISC equ 087h ;# "> +"1604 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1604: __asm("TRISD equ 088h"); +[; <" TRISD equ 088h ;# "> +"1666 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1666: __asm("TRISE equ 089h"); +[; <" TRISE equ 089h ;# "> +"1704 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1704: __asm("PIE1 equ 08Ch"); +[; <" PIE1 equ 08Ch ;# "> +"1760 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1760: __asm("PIE2 equ 08Dh"); +[; <" PIE2 equ 08Dh ;# "> +"1817 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1817: __asm("PCON equ 08Eh"); +[; <" PCON equ 08Eh ;# "> +"1864 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1864: __asm("OSCCON equ 08Fh"); +[; <" OSCCON equ 08Fh ;# "> +"1929 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1929: __asm("OSCTUNE equ 090h"); +[; <" OSCTUNE equ 090h ;# "> +"1981 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 1981: __asm("SSPCON2 equ 091h"); +[; <" SSPCON2 equ 091h ;# "> +"2043 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2043: __asm("PR2 equ 092h"); +[; <" PR2 equ 092h ;# "> +"2050 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2050: __asm("SSPADD equ 093h"); +[; <" SSPADD equ 093h ;# "> +"2057 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2057: __asm("SSPMSK equ 093h"); +[; <" SSPMSK equ 093h ;# "> +"2062 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2062: __asm("MSK equ 093h"); +[; <" MSK equ 093h ;# "> +"2179 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2179: __asm("SSPSTAT equ 094h"); +[; <" SSPSTAT equ 094h ;# "> +"2348 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2348: __asm("WPUB equ 095h"); +[; <" WPUB equ 095h ;# "> +"2418 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2418: __asm("IOCB equ 096h"); +[; <" IOCB equ 096h ;# "> +"2488 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2488: __asm("VRCON equ 097h"); +[; <" VRCON equ 097h ;# "> +"2558 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2558: __asm("TXSTA equ 098h"); +[; <" TXSTA equ 098h ;# "> +"2644 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2644: __asm("SPBRG equ 099h"); +[; <" SPBRG equ 099h ;# "> +"2706 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2706: __asm("SPBRGH equ 09Ah"); +[; <" SPBRGH equ 09Ah ;# "> +"2776 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2776: __asm("PWM1CON equ 09Bh"); +[; <" PWM1CON equ 09Bh ;# "> +"2846 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2846: __asm("ECCPAS equ 09Ch"); +[; <" ECCPAS equ 09Ch ;# "> +"2928 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2928: __asm("PSTRCON equ 09Dh"); +[; <" PSTRCON equ 09Dh ;# "> +"2972 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2972: __asm("ADRESL equ 09Eh"); +[; <" ADRESL equ 09Eh ;# "> +"2979 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 2979: __asm("ADCON1 equ 09Fh"); +[; <" ADCON1 equ 09Fh ;# "> +"3013 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3013: __asm("WDTCON equ 0105h"); +[; <" WDTCON equ 0105h ;# "> +"3066 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3066: __asm("CM1CON0 equ 0107h"); +[; <" CM1CON0 equ 0107h ;# "> +"3131 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3131: __asm("CM2CON0 equ 0108h"); +[; <" CM2CON0 equ 0108h ;# "> +"3196 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3196: __asm("CM2CON1 equ 0109h"); +[; <" CM2CON1 equ 0109h ;# "> +"3247 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3247: __asm("EEDATA equ 010Ch"); +[; <" EEDATA equ 010Ch ;# "> +"3252 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3252: __asm("EEDAT equ 010Ch"); +[; <" EEDAT equ 010Ch ;# "> +"3259 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3259: __asm("EEADR equ 010Dh"); +[; <" EEADR equ 010Dh ;# "> +"3266 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3266: __asm("EEDATH equ 010Eh"); +[; <" EEDATH equ 010Eh ;# "> +"3273 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3273: __asm("EEADRH equ 010Fh"); +[; <" EEADRH equ 010Fh ;# "> +"3280 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3280: __asm("SRCON equ 0185h"); +[; <" SRCON equ 0185h ;# "> +"3337 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3337: __asm("BAUDCTL equ 0187h"); +[; <" BAUDCTL equ 0187h ;# "> +"3389 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3389: __asm("ANSEL equ 0188h"); +[; <" ANSEL equ 0188h ;# "> +"3451 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3451: __asm("ANSELH equ 0189h"); +[; <" ANSELH equ 0189h ;# "> +"3501 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3501: __asm("EECON1 equ 018Ch"); +[; <" EECON1 equ 018Ch ;# "> +"3546 +[; ;C:/Program Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC16Fxxx_DFP/1.4.149/xc8\pic\include\proc\pic16f887.h: 3546: __asm("EECON2 equ 018Dh"); +[; <" EECON2 equ 018Dh ;# "> +"9 src/../include/config.h +[p x FOSC = INTRC_NOCLKOUT ] +"10 +[p x WDTE = OFF ] +"11 +[p x PWRTE = ON ] +"12 +[p x MCLRE = OFF ] +"13 +[p x CP = OFF ] +"14 +[p x CPD = OFF ] +"15 +[p x BOREN = ON ] +"16 +[p x IESO = OFF ] +"17 +[p x FCMEN = OFF ] +"18 +[p x LVP = OFF ] +"19 +[p x BOR4V = BOR40V ] +"20 +[p x WRT = OFF ] +"7 src/rotary_encoder.c +[; ;src/rotary_encoder.c: 7: void parse_rotary(char pinA, char pinB, char* counter, char max, char min) { +[v _parse_rotary `(v ~T0 @X0 1 ef5`uc`uc`*uc`uc`uc ] +{ +[e :U _parse_rotary ] +[v _pinA `uc ~T0 @X0 1 r1 ] +[v _pinB `uc ~T0 @X0 1 r2 ] +[v _counter `*uc ~T0 @X0 1 r3 ] +[v _max `uc ~T0 @X0 1 r4 ] +[v _min `uc ~T0 @X0 1 r5 ] +[f ] +"9 +[; ;src/rotary_encoder.c: 9: static unsigned char prevState; +[v F1436 `uc ~T0 @X0 1 s prevState ] +"10 +[; ;src/rotary_encoder.c: 10: unsigned char state; +[v _state `uc ~T0 @X0 1 a ] +"13 +[; ;src/rotary_encoder.c: 13: _delay((unsigned long)((1)*(500000/4000.0))); +[e ( __delay (1 -> * -> -> 1 `i `d / -> -> 500000 `l `d .4000.0 `ul ] +"16 +[; ;src/rotary_encoder.c: 16: state = (unsigned char)(pinB << 1 | pinA); +[e = _state -> | << -> _pinB `i -> 1 `i -> _pinA `i `uc ] +"19 +[; ;src/rotary_encoder.c: 19: if (prevState == 0) { +[e $ ! == -> F1436 `i -> 0 `i 143 ] +{ +"20 +[; ;src/rotary_encoder.c: 20: if (state == ROTATE_LEFT) (*counter)--; +[e $ ! == -> _state `i -> . `E1420 0 `i 144 ] +[e -- *U _counter -> -> 1 `i `uc ] +[e $U 145 ] +"21 +[; ;src/rotary_encoder.c: 21: else if (state == ROTATE_RIGHT) (*counter)++; +[e :U 144 ] +[e $ ! == -> _state `i -> . `E1420 1 `i 146 ] +[e ++ *U _counter -> -> 1 `i `uc ] +[e :U 146 ] +[e :U 145 ] +"22 +[; ;src/rotary_encoder.c: 22: } +} +[e :U 143 ] +"25 +[; ;src/rotary_encoder.c: 25: if (*counter > max) *counter = min; +[e $ ! > -> *U _counter `i -> _max `i 147 ] +[e = *U _counter _min ] +[e $U 148 ] +"26 +[; ;src/rotary_encoder.c: 26: else if (*counter < min) *counter = max; +[e :U 147 ] +[e $ ! < -> *U _counter `i -> _min `i 149 ] +[e = *U _counter _max ] +[e :U 149 ] +[e :U 148 ] +"30 +[; ;src/rotary_encoder.c: 30: prevState = state; +[e = F1436 _state ] +"31 +[; ;src/rotary_encoder.c: 31: PORTB = PORTB; +[e = _PORTB _PORTB ] +"32 +[; ;src/rotary_encoder.c: 32: } +[e :UE 142 ] +} diff --git a/build/default/production/src/rotary_encoder.p1.d b/build/default/production/src/rotary_encoder.p1.d new file mode 100644 index 0000000..f1aac62 --- /dev/null +++ b/build/default/production/src/rotary_encoder.p1.d @@ -0,0 +1,4 @@ +build/default/production/src/rotary_encoder.p1: \ +src/rotary_encoder.c \ +src/../include/config.h \ +src/../include/rotary_encoder.h diff --git a/clean.cmd b/clean.cmd new file mode 100644 index 0000000..4eca8d9 --- /dev/null +++ b/clean.cmd @@ -0,0 +1,2 @@ + +DEL /F /Q output \ No newline at end of file diff --git a/debug/default/queuelogs/debugtool b/debug/default/queuelogs/debugtool new file mode 100644 index 0000000..5557105 --- /dev/null +++ b/debug/default/queuelogs/debugtool @@ -0,0 +1,1038 @@ +1470 1700770313812 XXXX 1700770313812, Thread 1470: XXXX 1700770313812, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1470 1700770313812 XXXX 1700770313812, Thread 1470: XXXX 1700770313812, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770313812 XXXX 1700770313812, Thread 1470: XXXX 1700770313812, Entering Thread 1470: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1470 1700770313842 XXXX 1700770313842, Thread 1470: XXXX 1700770313842, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770313842 XXXX 1700770313842, Thread 1470: XXXX 1700770313842, Entering Thread 1470: Commands::runScriptWithUpload, script name = ReadConfigmem +1470 1700770313842 XXXX 1700770313842, Thread 1470: XXXX 1700770313842, Entering Thread 1470: ToolCommUsb::readTransfer, sideData is 0x55 bytes long, transferDataLength is 0x4 bytes long +1470 1700770313843 XXXX 1700770313843, Thread 1470: XXXX 1700770313843, Exiting Thread 1470: ToolCommUsb::readTransfer, cr.status = 0x0 +1470 1700770313843 XXXX 1700770313843, Thread 1470: XXXX 1700770313843, Exiting Thread 1470: Commands::runScriptWithUpload +1470 1700770313843 XXXX 1700770313843, Thread 1470: XXXX 1700770313843, Entering Thread 1470: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1470 1700770313846 XXXX 1700770313846, Thread 1470: XXXX 1700770313846, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770313846 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1470 1700770313846 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1470 1700770313846 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1470 1700770313846 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1470 1700770313848 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1470 1700770313848 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1470 1700770313848 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1470 1700770313848 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = write, Mask = 00000000, Erase = false, Production Mode = true +1470 1700770313848 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 0, End = 33f, Buffer Length = 1664, Type = Pgm, Mask = 00000000 +1470 1700770313848 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2007, End = 2008, Buffer Length = 4, Type = Cfg, Mask = 00000000 +1470 1700770313848 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1470 1700770313848 XXXX 1700770313848, Thread 1470: XXXX 1700770313848, Entering Thread 1470: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1470 1700770313849 XXXX 1700770313849, Thread 1470: XXXX 1700770313849, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770313849 XXXX 1700770313849, Thread 1470: XXXX 1700770313849, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1470 1700770313850 XXXX 1700770313850, Thread 1470: XXXX 1700770313850, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770313850 XXXX 1700770313850, Thread 1470: XXXX 1700770313850, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1470 1700770313851 XXXX 1700770313851, Thread 1470: XXXX 1700770313851, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770313851 XXXX 1700770313851, Thread 1470: XXXX 1700770313851, Entering Thread 1470: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1470 1700770313881 XXXX 1700770313881, Thread 1470: XXXX 1700770313881, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770313881 XXXX 1700770313881, Thread 1470: XXXX 1700770313881, Entering Thread 1470: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1470 1700770313882 XXXX 1700770313882, Thread 1470: XXXX 1700770313882, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770313882 XXXX 1700770313882, Thread 1470: XXXX 1700770313882, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1470 1700770313883 XXXX 1700770313883, Thread 1470: XXXX 1700770313883, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770313883 XXXX 1700770313883, Thread 1470: XXXX 1700770313883, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1470 1700770313884 XXXX 1700770313884, Thread 1470: XXXX 1700770313884, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770313884 XXXX 1700770313884, Thread 1470: XXXX 1700770313884, Entering Thread 1470: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1470 1700770313913 XXXX 1700770313913, Thread 1470: XXXX 1700770313913, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770313914 XXXX 1700770313914, Thread 1470: XXXX 1700770313914, Entering Thread 1470: Commands::runScriptWithDownload, script name = WriteProgmem +1470 1700770314266 XXXX 1700770314266, Thread 1470: XXXX 1700770314266, Exiting Thread 1470: Commands::runScriptWithDownload(WriteProgmem) +1470 1700770314266 XXXX 1700770314266, Thread 1470: XXXX 1700770314266, Entering Thread 1470: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1470 1700770314269 XXXX 1700770314269, Thread 1470: XXXX 1700770314269, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314269 XXXX 1700770314269, Thread 1470: XXXX 1700770314269, Entering Thread 1470: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1470 1700770314271 XXXX 1700770314271, Thread 1470: XXXX 1700770314271, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314271 XXXX 1700770314271, Thread 1470: XXXX 1700770314271, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1470 1700770314271 XXXX 1700770314271, Thread 1470: XXXX 1700770314271, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314271 XXXX 1700770314271, Thread 1470: XXXX 1700770314271, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1470 1700770314272 XXXX 1700770314272, Thread 1470: XXXX 1700770314272, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314272 XXXX 1700770314272, Thread 1470: XXXX 1700770314272, Entering Thread 1470: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1470 1700770314303 XXXX 1700770314303, Thread 1470: XXXX 1700770314303, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314303 XXXX 1700770314303, Thread 1470: XXXX 1700770314303, Entering Thread 1470: Commands::runScriptWithUpload, script name = ReadProgmem +1470 1700770314303 XXXX 1700770314303, Thread 1470: XXXX 1700770314303, Entering Thread 1470: ToolCommUsb::readTransfer, sideData is 0x3d bytes long, transferDataLength is 0x680 bytes long +1470 1700770314340 XXXX 1700770314340, Thread 1470: XXXX 1700770314340, Exiting Thread 1470: ToolCommUsb::readTransfer, cr.status = 0x0 +1470 1700770314341 XXXX 1700770314341, Thread 1470: XXXX 1700770314341, Exiting Thread 1470: Commands::runScriptWithUpload +1470 1700770314341 XXXX 1700770314341, Thread 1470: XXXX 1700770314341, Entering Thread 1470: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1470 1700770314342 XXXX 1700770314342, Thread 1470: XXXX 1700770314342, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314343 XXXX 1700770314343, Thread 1470: XXXX 1700770314343, Entering Thread 1470: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1470 1700770314343 XXXX 1700770314343, Thread 1470: XXXX 1700770314343, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314343 XXXX 1700770314343, Thread 1470: XXXX 1700770314343, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1470 1700770314344 XXXX 1700770314344, Thread 1470: XXXX 1700770314344, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314344 XXXX 1700770314344, Thread 1470: XXXX 1700770314344, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1470 1700770314346 XXXX 1700770314346, Thread 1470: XXXX 1700770314346, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314346 XXXX 1700770314346, Thread 1470: XXXX 1700770314346, Entering Thread 1470: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1470 1700770314375 XXXX 1700770314375, Thread 1470: XXXX 1700770314375, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314375 XXXX 1700770314375, Thread 1470: XXXX 1700770314375, Entering Thread 1470: Commands::runScriptWithDownload, script name = WriteConfigmem +1470 1700770314388 XXXX 1700770314388, Thread 1470: XXXX 1700770314388, Exiting Thread 1470: Commands::runScriptWithDownload(WriteConfigmem) +1470 1700770314388 XXXX 1700770314388, Thread 1470: XXXX 1700770314388, Entering Thread 1470: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1470 1700770314390 XXXX 1700770314390, Thread 1470: XXXX 1700770314390, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314390 XXXX 1700770314390, Thread 1470: XXXX 1700770314390, Entering Thread 1470: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1470 1700770314392 XXXX 1700770314392, Thread 1470: XXXX 1700770314392, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314392 XXXX 1700770314392, Thread 1470: XXXX 1700770314392, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1470 1700770314393 XXXX 1700770314393, Thread 1470: XXXX 1700770314393, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314393 XXXX 1700770314393, Thread 1470: XXXX 1700770314393, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1470 1700770314394 XXXX 1700770314394, Thread 1470: XXXX 1700770314394, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314394 XXXX 1700770314394, Thread 1470: XXXX 1700770314394, Entering Thread 1470: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1470 1700770314424 XXXX 1700770314424, Thread 1470: XXXX 1700770314424, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314424 XXXX 1700770314424, Thread 1470: XXXX 1700770314424, Entering Thread 1470: Commands::runScriptWithUpload, script name = ReadConfigmem +1470 1700770314424 XXXX 1700770314424, Thread 1470: XXXX 1700770314424, Entering Thread 1470: ToolCommUsb::readTransfer, sideData is 0x55 bytes long, transferDataLength is 0x4 bytes long +1470 1700770314426 XXXX 1700770314426, Thread 1470: XXXX 1700770314426, Exiting Thread 1470: ToolCommUsb::readTransfer, cr.status = 0x0 +1470 1700770314426 XXXX 1700770314426, Thread 1470: XXXX 1700770314426, Exiting Thread 1470: Commands::runScriptWithUpload +1470 1700770314426 XXXX 1700770314426, Thread 1470: XXXX 1700770314426, Entering Thread 1470: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1470 1700770314428 XXXX 1700770314428, Thread 1470: XXXX 1700770314428, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314428 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1470 1700770314428 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1470 1700770314428 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1470 1700770314428 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1470 1700770314428 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:endOfOperations +1470 1700770314428 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1470 1700770314428 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 null +1470 1700770314428 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1470 1700770314428 XXXX 1700770314428, Thread 1470: XXXX 1700770314428, Entering Thread 1470: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1470 1700770314430 XXXX 1700770314430, Thread 1470: XXXX 1700770314430, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314430 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:endOfOperations +1470 1700770314430 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1470 1700770314430 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1470 1700770314430 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1470 1700770314432 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1470 1700770314432 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1470 1700770314432 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1470 1700770314432 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = releasefromreset, Mask = 00000000, Erase = false, Production Mode = true +1470 1700770314432 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1470 1700770314432 XXXX 1700770314432, Thread 1470: XXXX 1700770314432, Entering Thread 1470: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1470 1700770314434 XXXX 1700770314434, Thread 1470: XXXX 1700770314434, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314434 XXXX 1700770314434, Thread 1470: XXXX 1700770314434, Entering Thread 1470: Commands::runScriptBasic with script contents. contents[0] = 0x42, ... +1470 1700770314435 XXXX 1700770314435, Thread 1470: XXXX 1700770314435, Exiting Thread 1470: Commands::runScriptBasic +1470 1700770314435 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1470 1700770314435 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1470 1700770314435 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1470 1700770314435 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End +140 1700770698731 GEN4_CONNECT_DIAGNOSTICS:Calling Update on plug and play observer com.microchip.mplab.mdbcore.RI4Tool.RI4ToolBase$RI4PlugNPlayObserver@682b9ba9 +140 1700770698731 GEN4_CONNECT_DIAGNOSTICS:Entering plug and play Update(). Attached PID = 9036 +140 1700770698731 GEN4_CONNECT_DIAGNOSTICS:Entering MPLABCommEvent handler +140 1700770698731 GEN4_CONNECT_DIAGNOSTICS:MPLABCommEvent.pid = 9036 +140 1700770698731 GEN4_CONNECT_DIAGNOSTICS:eventType = MPLABCOMM_TOOL_UNPLUGGED +140 1700770698731 GEN4_CONNECT_DIAGNOSTICS:Exiting plug and play Update() +140 1700770699253 GEN4_CONNECT_DIAGNOSTICS:Before MPLABCommTool.Connect() +140 1700770699253 GEN4_CONNECT_DIAGNOSTICS:After MPLABCommTool.Connect() +140 1700770699253 GEN4_CONNECT_DIAGNOSTICS:MPLABCommTool.Connect() returned MPLABCOMM_NO_ERROR +140 1700770699253 GEN4_CONNECT_DIAGNOSTICS:Before detaching from MPLABCommTool plugnplay +140 1700770699253 GEN4_CONNECT_DIAGNOSTICS:Attaching to MPLABCommTool plugnplay +140 1700770699253 GEN4_CONNECT_DIAGNOSTICS:Calling Update on plug and play observer com.microchip.mplab.mdbcore.RI4Tool.RI4ToolBase$RI4PlugNPlayObserver@682b9ba9 +140 1700770699253 GEN4_CONNECT_DIAGNOSTICS:Entering plug and play Update(). Attached PID = 9036 +140 1700770699253 GEN4_CONNECT_DIAGNOSTICS:Entering MPLABCommEvent handler +140 1700770699253 GEN4_CONNECT_DIAGNOSTICS:MPLABCommEvent.pid = 9036 +140 1700770699253 GEN4_CONNECT_DIAGNOSTICS:eventType = MPLABCOMM_TOOL_PLUGGEDIN + +140 1700770699253 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:GetFirmwareInfo +140 1700770699253 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +140 1700770699253 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 null +140 1700770699253 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +140 1700770699261 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:GetFirmwareInfo +140 1700770699261 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +140 1700770699261 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 FirmwareInfo: Values: +140 1700770699261 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 FirmwareInfo: boot = false, bootVer = 00.00.10, apVer = 02.00.84, fpgaVer = ff.ff.ff, scriptVer = 00.05.85, macAddress = 0504883548174844852485054485057, devID = a1020e01, devID1 = 2, devSN0 = ffffffff, devSN1 = ffffffff, serialNumber = 020026702RYN005435, appCommitID = null, scriptCommitID = d33d758f73, PCB_ID = 2 +140 1700770699261 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End +140 1700770699261 GEN4_CONNECT_DIAGNOSTICS:ENTERING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.GetUpdateInfo() +140 1700770699261 GEN4_CONNECT_DIAGNOSTICS:Parsing file for firmware updates +140 1700770699261 GEN4_CONNECT_DIAGNOSTICS:ENTERING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.ri4ParseSelectedVersionsFromJamFile() +140 1700770699261 GEN4_CONNECT_DIAGNOSTICS:Jame file line = app.hex,020084 +140 1700770699261 GEN4_CONNECT_DIAGNOSTICS:Jame file line = boot.hex,000010 +140 1700770699261 GEN4_CONNECT_DIAGNOSTICS:Jame file line = scripts.xml,000585 +140 1700770699261 GEN4_CONNECT_DIAGNOSTICS:Selected firmware version for Boot = 00.00.10 +140 1700770699261 GEN4_CONNECT_DIAGNOSTICS:Selected firmware version for ap = 02.00.ffffff84 +140 1700770699261 GEN4_CONNECT_DIAGNOSTICS:EXITING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.ri4ParseSelectedVersionsFromJamFile() +140 1700770699261 GEN4_CONNECT_DIAGNOSTICS:EXITING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.GetUpdateInfo() +140 1700770699261 GEN4_CONNECT_DIAGNOSTICS:ENTERING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.updateRI4ToolsFirmware(FirmwareInfo, UpdateMessage) +140 1700770699266 GEN4_CONNECT_DIAGNOSTICS:appNeedsUpdate returned false +140 1700770699266 GEN4_CONNECT_DIAGNOSTICS:EXITING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.updateRI4ToolsFirmware(FirmwareInfo, UpdateMessage) +140 1700770699266 GEN4_CONNECT_DIAGNOSTICS:Exiting plug and play Update() +140 1700773121970 GEN4_CONNECT_DIAGNOSTICS:Calling Update on plug and play observer com.microchip.mplab.mdbcore.RI4Tool.RI4ToolBase$RI4PlugNPlayObserver@682b9ba9 +140 1700773121970 GEN4_CONNECT_DIAGNOSTICS:Entering plug and play Update(). Attached PID = 9036 +140 1700773121970 GEN4_CONNECT_DIAGNOSTICS:Entering MPLABCommEvent handler +140 1700773121970 GEN4_CONNECT_DIAGNOSTICS:MPLABCommEvent.pid = 9036 +140 1700773121970 GEN4_CONNECT_DIAGNOSTICS:eventType = MPLABCOMM_TOOL_UNPLUGGED +140 1700773121971 GEN4_CONNECT_DIAGNOSTICS:Exiting plug and play Update() +140 1700773122222 GEN4_CONNECT_DIAGNOSTICS:Before MPLABCommTool.Connect() +140 1700773122222 GEN4_CONNECT_DIAGNOSTICS:After MPLABCommTool.Connect() +140 1700773122222 GEN4_CONNECT_DIAGNOSTICS:MPLABCommTool.Connect() returned MPLABCOMM_NO_ERROR +140 1700773122222 GEN4_CONNECT_DIAGNOSTICS:Before detaching from MPLABCommTool plugnplay +140 1700773122222 GEN4_CONNECT_DIAGNOSTICS:Attaching to MPLABCommTool plugnplay +140 1700773122222 GEN4_CONNECT_DIAGNOSTICS:Calling Update on plug and play observer com.microchip.mplab.mdbcore.RI4Tool.RI4ToolBase$RI4PlugNPlayObserver@682b9ba9 +140 1700773122222 GEN4_CONNECT_DIAGNOSTICS:Entering plug and play Update(). Attached PID = 9036 +140 1700773122222 GEN4_CONNECT_DIAGNOSTICS:Entering MPLABCommEvent handler +140 1700773122222 GEN4_CONNECT_DIAGNOSTICS:MPLABCommEvent.pid = 9036 +140 1700773122222 GEN4_CONNECT_DIAGNOSTICS:eventType = MPLABCOMM_TOOL_PLUGGEDIN + +140 1700773122222 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:GetFirmwareInfo +140 1700773122222 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +140 1700773122222 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 null +140 1700773122222 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +140 1700773122230 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:GetFirmwareInfo +140 1700773122230 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +140 1700773122230 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 FirmwareInfo: Values: +140 1700773122230 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 FirmwareInfo: boot = false, bootVer = 00.00.10, apVer = 02.00.84, fpgaVer = ff.ff.ff, scriptVer = 00.05.85, macAddress = 0504883548174844852485054485057, devID = a1020e01, devID1 = 2, devSN0 = ffffffff, devSN1 = ffffffff, serialNumber = 020026702RYN005435, appCommitID = null, scriptCommitID = d33d758f73, PCB_ID = 2 +140 1700773122230 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End +140 1700773122230 GEN4_CONNECT_DIAGNOSTICS:ENTERING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.GetUpdateInfo() +140 1700773122231 GEN4_CONNECT_DIAGNOSTICS:Parsing file for firmware updates +140 1700773122231 GEN4_CONNECT_DIAGNOSTICS:ENTERING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.ri4ParseSelectedVersionsFromJamFile() +140 1700773122231 GEN4_CONNECT_DIAGNOSTICS:Jame file line = app.hex,020084 +140 1700773122231 GEN4_CONNECT_DIAGNOSTICS:Jame file line = boot.hex,000010 +140 1700773122231 GEN4_CONNECT_DIAGNOSTICS:Jame file line = scripts.xml,000585 +140 1700773122231 GEN4_CONNECT_DIAGNOSTICS:Selected firmware version for Boot = 00.00.10 +140 1700773122231 GEN4_CONNECT_DIAGNOSTICS:Selected firmware version for ap = 02.00.ffffff84 +140 1700773122231 GEN4_CONNECT_DIAGNOSTICS:EXITING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.ri4ParseSelectedVersionsFromJamFile() +140 1700773122231 GEN4_CONNECT_DIAGNOSTICS:EXITING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.GetUpdateInfo() +140 1700773122231 GEN4_CONNECT_DIAGNOSTICS:ENTERING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.updateRI4ToolsFirmware(FirmwareInfo, UpdateMessage) +140 1700773122235 GEN4_CONNECT_DIAGNOSTICS:appNeedsUpdate returned false +140 1700773122235 GEN4_CONNECT_DIAGNOSTICS:EXITING: com.microchip.mplab.mdbcore.RI4Tool.FirmwareUpdateHandler.updateRI4ToolsFirmware(FirmwareInfo, UpdateMessage) +140 1700773122235 GEN4_CONNECT_DIAGNOSTICS:Exiting plug and play Update() + +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:EstablishCommunincations +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 com.microchip.mplab.mdbcore.PK5Tool.PK5Com@5ad58810 +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:EstablishCommunincations +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 true +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:GetFirmwareInfo +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 null +1512 1700773131425 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1512 1700773131432 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:GetFirmwareInfo +1512 1700773131432 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1512 1700773131432 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 FirmwareInfo: Values: +1512 1700773131432 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 FirmwareInfo: boot = false, bootVer = 00.00.10, apVer = 02.00.84, fpgaVer = ff.ff.ff, scriptVer = 00.05.85, macAddress = 0504883548174844852485054485057, devID = a1020e01, devID1 = 2, devSN0 = ffffffff, devSN1 = ffffffff, serialNumber = 020026702RYN005435, appCommitID = null, scriptCommitID = d33d758f73, PCB_ID = 2 +1512 1700773131432 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End +1512 1700773131432 XXXX 1700773131432, Thread 1512: XXXX 1700773131432, Entering Thread 1512: Commands::runScriptWithUpload with script contents. contents[0] = 0x5e, ... +1512 1700773131432 XXXX 1700773131432, Thread 1512: XXXX 1700773131432, Entering Thread 1512: ToolCommUsb::readTransfer, sideData is 0xd bytes long, transferDataLength is 0x4 bytes long +1512 1700773131436 XXXX 1700773131436, Thread 1512: XXXX 1700773131436, Exiting Thread 1512: ToolCommUsb::readTransfer, cr.status = 0x0 +1512 1700773131436 XXXX 1700773131436, Thread 1512: XXXX 1700773131436, Exiting Thread 1512: Commands::runScriptWithUpload + +1512 1700773131437 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:SetPowerInfo +1512 1700773131437 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1512 1700773131437 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 PowerInfo: Values: +1512 1700773131437 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 PowerInfo: shotDownSystem = false, isToolPower = true, voltage = 5,000000, useVppFirst = false, useLowVoltageProgramming = false, useMaintainActivePower = false +1512 1700773131437 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1512 1700773131437 XXXX 1700773131437, Thread 1512: XXXX 1700773131437, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0x39, ... +1512 1700773131438 XXXX 1700773131438, Thread 1512: XXXX 1700773131438, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131438 XXXX 1700773131438, Thread 1512: XXXX 1700773131438, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0x46, ... +1512 1700773131439 XXXX 1700773131439, Thread 1512: XXXX 1700773131439, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131439 XXXX 1700773131439, Thread 1512: XXXX 1700773131439, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0x44, ... +1512 1700773131451 XXXX 1700773131451, Thread 1512: XXXX 1700773131451, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131451 XXXX 1700773131451, Thread 1512: XXXX 1700773131451, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0x40, ... +1512 1700773131630 XXXX 1700773131630, Thread 1512: XXXX 1700773131630, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131630 XXXX 1700773131630, Thread 1512: XXXX 1700773131630, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0x47, ... +1512 1700773131636 XXXX 1700773131636, Thread 1512: XXXX 1700773131636, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131636 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:SetPowerInfo +1512 1700773131636 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1512 1700773131636 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 none +1512 1700773131636 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1512 1700773131636 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:SetLEDBrightness +1512 1700773131636 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1512 1700773131636 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 5 +1512 1700773131636 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1512 1700773131636 XXXX 1700773131636, Thread 1512: XXXX 1700773131636, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xcf, ... +1512 1700773131638 XXXX 1700773131638, Thread 1512: XXXX 1700773131638, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131638 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:SetLEDBrightness +1512 1700773131638 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1512 1700773131638 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 none +1512 1700773131638 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1512 1700773131638 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:SetToolInfo +1512 1700773131638 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1512 1700773131638 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 ToolInfo: Values: +1512 1700773131638 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 ToolInfo: speedLevel = 1, PGCResistance = 4700, PGDResistance = 4700, PGCPullDir = PullDown, PGDPullDir = PullDown, ICSPSelected = Wire2 +1512 1700773131638 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1512 1700773131638 XXXX 1700773131638, Thread 1512: XXXX 1700773131638, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0x27, ... +1512 1700773131638 XXXX 1700773131638, Thread 1512: XXXX 1700773131638, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131638 XXXX 1700773131638, Thread 1512: XXXX 1700773131638, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773131639 XXXX 1700773131639, Thread 1512: XXXX 1700773131639, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131639 XXXX 1700773131639, Thread 1512: XXXX 1700773131639, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773131640 XXXX 1700773131640, Thread 1512: XXXX 1700773131640, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131640 XXXX 1700773131640, Thread 1512: XXXX 1700773131640, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773131642 XXXX 1700773131642, Thread 1512: XXXX 1700773131642, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131642 XXXX 1700773131642, Thread 1512: XXXX 1700773131642, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xd4, ... +1512 1700773131643 XXXX 1700773131643, Thread 1512: XXXX 1700773131643, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131643 XXXX 1700773131643, Thread 1512: XXXX 1700773131643, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xcd, ... +1512 1700773131644 XXXX 1700773131644, Thread 1512: XXXX 1700773131644, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131644 XXXX 1700773131644, Thread 1512: XXXX 1700773131644, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xce, ... +1512 1700773131645 XXXX 1700773131645, Thread 1512: XXXX 1700773131645, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131645 XXXX 1700773131645, Thread 1512: XXXX 1700773131645, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xcd, ... +1512 1700773131646 XXXX 1700773131646, Thread 1512: XXXX 1700773131646, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131646 XXXX 1700773131646, Thread 1512: XXXX 1700773131646, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xce, ... +1512 1700773131647 XXXX 1700773131647, Thread 1512: XXXX 1700773131647, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131647 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:SetToolInfo +1512 1700773131647 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1512 1700773131647 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 none +1512 1700773131647 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1512 1700773131653 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1512 1700773131653 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1512 1700773131653 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1512 1700773131653 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = erase, Mask = 00000000, Erase = false, Production Mode = true +1512 1700773131653 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 0, End = 1fff, Buffer Length = 0, Type = Pgm, Mask = 00000000 +1512 1700773131653 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2007, End = 2008, Buffer Length = 0, Type = Cfg, Mask = 00000000 +1512 1700773131653 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 0, End = ff, Buffer Length = 0, Type = EEData, Mask = 00000000 +1512 1700773131653 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2000, End = 2003, Buffer Length = 0, Type = UserID, Mask = 00000000 +1512 1700773131653 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1512 1700773131653 XXXX 1700773131653, Thread 1512: XXXX 1700773131653, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773131655 XXXX 1700773131655, Thread 1512: XXXX 1700773131655, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131655 XXXX 1700773131655, Thread 1512: XXXX 1700773131655, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773131656 XXXX 1700773131656, Thread 1512: XXXX 1700773131656, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131656 XXXX 1700773131656, Thread 1512: XXXX 1700773131656, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773131656 XXXX 1700773131656, Thread 1512: XXXX 1700773131656, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131656 XXXX 1700773131656, Thread 1512: XXXX 1700773131656, Entering Thread 1512: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1512 1700773131687 XXXX 1700773131687, Thread 1512: XXXX 1700773131687, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131687 XXXX 1700773131687, Thread 1512: XXXX 1700773131687, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773131687 XXXX 1700773131687, Thread 1512: XXXX 1700773131687, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131687 XXXX 1700773131687, Thread 1512: XXXX 1700773131687, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773131688 XXXX 1700773131688, Thread 1512: XXXX 1700773131688, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131688 XXXX 1700773131688, Thread 1512: XXXX 1700773131688, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773131689 XXXX 1700773131689, Thread 1512: XXXX 1700773131689, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131689 XXXX 1700773131689, Thread 1512: XXXX 1700773131689, Entering Thread 1512: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1512 1700773131719 XXXX 1700773131719, Thread 1512: XXXX 1700773131719, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131719 XXXX 1700773131719, Thread 1512: XXXX 1700773131719, Entering Thread 1512: Commands::runScriptBasic, script name = EraseChip, timeOut = 30000 ms +1512 1700773131726 XXXX 1700773131726, Thread 1512: XXXX 1700773131726, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131726 XXXX 1700773131726, Thread 1512: XXXX 1700773131726, Entering Thread 1512: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1512 1700773131728 XXXX 1700773131728, Thread 1512: XXXX 1700773131728, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131728 XXXX 1700773131728, Thread 1512: XXXX 1700773131728, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773131729 XXXX 1700773131729, Thread 1512: XXXX 1700773131729, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131729 XXXX 1700773131729, Thread 1512: XXXX 1700773131729, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773131730 XXXX 1700773131730, Thread 1512: XXXX 1700773131730, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131730 XXXX 1700773131730, Thread 1512: XXXX 1700773131730, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773131731 XXXX 1700773131731, Thread 1512: XXXX 1700773131731, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131731 XXXX 1700773131731, Thread 1512: XXXX 1700773131731, Entering Thread 1512: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1512 1700773131762 XXXX 1700773131762, Thread 1512: XXXX 1700773131762, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131762 XXXX 1700773131762, Thread 1512: XXXX 1700773131762, Entering Thread 1512: Commands::runScriptBasic, script name = EraseDataEEmem, timeOut = 30000 ms +1512 1700773131768 XXXX 1700773131768, Thread 1512: XXXX 1700773131768, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131768 XXXX 1700773131768, Thread 1512: XXXX 1700773131768, Entering Thread 1512: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1512 1700773131770 XXXX 1700773131770, Thread 1512: XXXX 1700773131770, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131770 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1512 1700773131770 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1512 1700773131770 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1512 1700773131770 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1512 1700773131770 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1512 1700773131770 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1512 1700773131770 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1512 1700773131770 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = write, Mask = 00000000, Erase = false, Production Mode = true +1512 1700773131770 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2007, End = 2008, Buffer Length = 4, Type = Cfg, Mask = 00000000 +1512 1700773131770 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1512 1700773131770 XXXX 1700773131770, Thread 1512: XXXX 1700773131770, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773131771 XXXX 1700773131771, Thread 1512: XXXX 1700773131771, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131771 XXXX 1700773131771, Thread 1512: XXXX 1700773131771, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773131772 XXXX 1700773131772, Thread 1512: XXXX 1700773131772, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131772 XXXX 1700773131772, Thread 1512: XXXX 1700773131772, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773131773 XXXX 1700773131773, Thread 1512: XXXX 1700773131773, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131773 XXXX 1700773131773, Thread 1512: XXXX 1700773131773, Entering Thread 1512: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1512 1700773131803 XXXX 1700773131803, Thread 1512: XXXX 1700773131803, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131803 XXXX 1700773131803, Thread 1512: XXXX 1700773131803, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773131804 XXXX 1700773131804, Thread 1512: XXXX 1700773131804, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131804 XXXX 1700773131804, Thread 1512: XXXX 1700773131804, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773131805 XXXX 1700773131805, Thread 1512: XXXX 1700773131805, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131805 XXXX 1700773131805, Thread 1512: XXXX 1700773131805, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773131806 XXXX 1700773131806, Thread 1512: XXXX 1700773131806, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131806 XXXX 1700773131806, Thread 1512: XXXX 1700773131806, Entering Thread 1512: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1512 1700773131837 XXXX 1700773131837, Thread 1512: XXXX 1700773131837, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131837 XXXX 1700773131837, Thread 1512: XXXX 1700773131837, Entering Thread 1512: Commands::runScriptWithDownload, script name = WriteConfigmem +1512 1700773131851 XXXX 1700773131851, Thread 1512: XXXX 1700773131851, Exiting Thread 1512: Commands::runScriptWithDownload(WriteConfigmem) +1512 1700773131851 XXXX 1700773131851, Thread 1512: XXXX 1700773131851, Entering Thread 1512: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1512 1700773131853 XXXX 1700773131853, Thread 1512: XXXX 1700773131853, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131853 XXXX 1700773131853, Thread 1512: XXXX 1700773131853, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773131854 XXXX 1700773131854, Thread 1512: XXXX 1700773131854, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131854 XXXX 1700773131854, Thread 1512: XXXX 1700773131854, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773131855 XXXX 1700773131855, Thread 1512: XXXX 1700773131855, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131855 XXXX 1700773131855, Thread 1512: XXXX 1700773131855, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773131856 XXXX 1700773131856, Thread 1512: XXXX 1700773131856, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131856 XXXX 1700773131856, Thread 1512: XXXX 1700773131856, Entering Thread 1512: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1512 1700773131886 XXXX 1700773131886, Thread 1512: XXXX 1700773131886, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131886 XXXX 1700773131886, Thread 1512: XXXX 1700773131886, Entering Thread 1512: Commands::runScriptWithUpload, script name = ReadConfigmem +1512 1700773131886 XXXX 1700773131886, Thread 1512: XXXX 1700773131886, Entering Thread 1512: ToolCommUsb::readTransfer, sideData is 0x55 bytes long, transferDataLength is 0x4 bytes long +1512 1700773131890 XXXX 1700773131890, Thread 1512: XXXX 1700773131890, Exiting Thread 1512: ToolCommUsb::readTransfer, cr.status = 0x0 +1512 1700773131890 XXXX 1700773131890, Thread 1512: XXXX 1700773131890, Exiting Thread 1512: Commands::runScriptWithUpload +1512 1700773131890 XXXX 1700773131890, Thread 1512: XXXX 1700773131890, Entering Thread 1512: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1512 1700773131892 XXXX 1700773131892, Thread 1512: XXXX 1700773131892, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131892 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1512 1700773131892 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1512 1700773131892 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1512 1700773131892 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1512 1700773131893 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1512 1700773131893 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1512 1700773131893 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1512 1700773131893 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = write, Mask = 00000000, Erase = false, Production Mode = true +1512 1700773131893 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 0, End = 33f, Buffer Length = 1664, Type = Pgm, Mask = 00000000 +1512 1700773131893 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2007, End = 2008, Buffer Length = 4, Type = Cfg, Mask = 00000000 +1512 1700773131893 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1512 1700773131893 XXXX 1700773131893, Thread 1512: XXXX 1700773131893, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773131894 XXXX 1700773131894, Thread 1512: XXXX 1700773131894, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131894 XXXX 1700773131894, Thread 1512: XXXX 1700773131894, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773131895 XXXX 1700773131895, Thread 1512: XXXX 1700773131895, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131895 XXXX 1700773131895, Thread 1512: XXXX 1700773131895, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773131896 XXXX 1700773131896, Thread 1512: XXXX 1700773131896, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131896 XXXX 1700773131896, Thread 1512: XXXX 1700773131896, Entering Thread 1512: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1512 1700773131926 XXXX 1700773131926, Thread 1512: XXXX 1700773131926, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131926 XXXX 1700773131926, Thread 1512: XXXX 1700773131926, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773131927 XXXX 1700773131927, Thread 1512: XXXX 1700773131927, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131927 XXXX 1700773131927, Thread 1512: XXXX 1700773131927, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773131928 XXXX 1700773131928, Thread 1512: XXXX 1700773131928, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131928 XXXX 1700773131928, Thread 1512: XXXX 1700773131928, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773131929 XXXX 1700773131929, Thread 1512: XXXX 1700773131929, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131929 XXXX 1700773131929, Thread 1512: XXXX 1700773131929, Entering Thread 1512: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1512 1700773131958 XXXX 1700773131958, Thread 1512: XXXX 1700773131958, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773131958 XXXX 1700773131958, Thread 1512: XXXX 1700773131958, Entering Thread 1512: Commands::runScriptWithDownload, script name = WriteProgmem +1512 1700773132310 XXXX 1700773132310, Thread 1512: XXXX 1700773132310, Exiting Thread 1512: Commands::runScriptWithDownload(WriteProgmem) +1512 1700773132310 XXXX 1700773132310, Thread 1512: XXXX 1700773132310, Entering Thread 1512: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1512 1700773132312 XXXX 1700773132312, Thread 1512: XXXX 1700773132312, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132312 XXXX 1700773132312, Thread 1512: XXXX 1700773132312, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773132313 XXXX 1700773132313, Thread 1512: XXXX 1700773132313, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132313 XXXX 1700773132313, Thread 1512: XXXX 1700773132313, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773132314 XXXX 1700773132314, Thread 1512: XXXX 1700773132314, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132314 XXXX 1700773132314, Thread 1512: XXXX 1700773132314, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773132315 XXXX 1700773132315, Thread 1512: XXXX 1700773132315, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132315 XXXX 1700773132315, Thread 1512: XXXX 1700773132315, Entering Thread 1512: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1512 1700773132346 XXXX 1700773132346, Thread 1512: XXXX 1700773132346, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132346 XXXX 1700773132346, Thread 1512: XXXX 1700773132346, Entering Thread 1512: Commands::runScriptWithUpload, script name = ReadProgmem +1512 1700773132346 XXXX 1700773132346, Thread 1512: XXXX 1700773132346, Entering Thread 1512: ToolCommUsb::readTransfer, sideData is 0x3d bytes long, transferDataLength is 0x680 bytes long +1512 1700773132384 XXXX 1700773132384, Thread 1512: XXXX 1700773132384, Exiting Thread 1512: ToolCommUsb::readTransfer, cr.status = 0x0 +1512 1700773132384 XXXX 1700773132384, Thread 1512: XXXX 1700773132384, Exiting Thread 1512: Commands::runScriptWithUpload +1512 1700773132384 XXXX 1700773132384, Thread 1512: XXXX 1700773132384, Entering Thread 1512: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1512 1700773132386 XXXX 1700773132386, Thread 1512: XXXX 1700773132386, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132386 XXXX 1700773132386, Thread 1512: XXXX 1700773132386, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773132387 XXXX 1700773132387, Thread 1512: XXXX 1700773132387, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132387 XXXX 1700773132387, Thread 1512: XXXX 1700773132387, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773132388 XXXX 1700773132388, Thread 1512: XXXX 1700773132388, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132388 XXXX 1700773132388, Thread 1512: XXXX 1700773132388, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773132389 XXXX 1700773132389, Thread 1512: XXXX 1700773132389, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132389 XXXX 1700773132389, Thread 1512: XXXX 1700773132389, Entering Thread 1512: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1512 1700773132417 XXXX 1700773132417, Thread 1512: XXXX 1700773132417, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132417 XXXX 1700773132417, Thread 1512: XXXX 1700773132417, Entering Thread 1512: Commands::runScriptWithDownload, script name = WriteConfigmem +1512 1700773132432 XXXX 1700773132432, Thread 1512: XXXX 1700773132432, Exiting Thread 1512: Commands::runScriptWithDownload(WriteConfigmem) +1512 1700773132432 XXXX 1700773132432, Thread 1512: XXXX 1700773132432, Entering Thread 1512: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1512 1700773132434 XXXX 1700773132434, Thread 1512: XXXX 1700773132434, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132434 XXXX 1700773132434, Thread 1512: XXXX 1700773132434, Entering Thread 1512: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1512 1700773132435 XXXX 1700773132435, Thread 1512: XXXX 1700773132435, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132435 XXXX 1700773132435, Thread 1512: XXXX 1700773132435, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1512 1700773132436 XXXX 1700773132436, Thread 1512: XXXX 1700773132436, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132436 XXXX 1700773132436, Thread 1512: XXXX 1700773132436, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1512 1700773132437 XXXX 1700773132437, Thread 1512: XXXX 1700773132437, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132437 XXXX 1700773132437, Thread 1512: XXXX 1700773132437, Entering Thread 1512: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1512 1700773132467 XXXX 1700773132467, Thread 1512: XXXX 1700773132467, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132467 XXXX 1700773132467, Thread 1512: XXXX 1700773132467, Entering Thread 1512: Commands::runScriptWithUpload, script name = ReadConfigmem +1512 1700773132467 XXXX 1700773132467, Thread 1512: XXXX 1700773132467, Entering Thread 1512: ToolCommUsb::readTransfer, sideData is 0x55 bytes long, transferDataLength is 0x4 bytes long +1512 1700773132468 XXXX 1700773132468, Thread 1512: XXXX 1700773132468, Exiting Thread 1512: ToolCommUsb::readTransfer, cr.status = 0x0 +1512 1700773132468 XXXX 1700773132468, Thread 1512: XXXX 1700773132468, Exiting Thread 1512: Commands::runScriptWithUpload +1512 1700773132468 XXXX 1700773132468, Thread 1512: XXXX 1700773132468, Entering Thread 1512: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1512 1700773132470 XXXX 1700773132470, Thread 1512: XXXX 1700773132470, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132470 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1512 1700773132470 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1512 1700773132470 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1512 1700773132470 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1512 1700773132471 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:endOfOperations +1512 1700773132471 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1512 1700773132471 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 null +1512 1700773132471 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1512 1700773132471 XXXX 1700773132471, Thread 1512: XXXX 1700773132471, Entering Thread 1512: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1512 1700773132472 XXXX 1700773132472, Thread 1512: XXXX 1700773132472, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132472 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:endOfOperations +1512 1700773132472 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1512 1700773132472 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1512 1700773132472 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1512 1700773132474 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1512 1700773132474 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1512 1700773132474 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1512 1700773132474 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = releasefromreset, Mask = 00000000, Erase = false, Production Mode = true +1512 1700773132474 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1512 1700773132474 XXXX 1700773132474, Thread 1512: XXXX 1700773132474, Entering Thread 1512: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1512 1700773132475 XXXX 1700773132475, Thread 1512: XXXX 1700773132475, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132475 XXXX 1700773132475, Thread 1512: XXXX 1700773132475, Entering Thread 1512: Commands::runScriptBasic with script contents. contents[0] = 0x42, ... +1512 1700773132476 XXXX 1700773132476, Thread 1512: XXXX 1700773132476, Exiting Thread 1512: Commands::runScriptBasic +1512 1700773132476 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1512 1700773132476 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1512 1700773132476 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1512 1700773132476 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:EstablishCommunincations +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 com.microchip.mplab.mdbcore.PK5Tool.PK5Com@5ad58810 +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:EstablishCommunincations +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 true +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:GetFirmwareInfo +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 null +1527 1700773184054 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1527 1700773184061 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:GetFirmwareInfo +1527 1700773184061 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1527 1700773184061 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 FirmwareInfo: Values: +1527 1700773184061 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 FirmwareInfo: boot = false, bootVer = 00.00.10, apVer = 02.00.84, fpgaVer = ff.ff.ff, scriptVer = 00.05.85, macAddress = 0504883548174844852485054485057, devID = a1020e01, devID1 = 2, devSN0 = ffffffff, devSN1 = ffffffff, serialNumber = 020026702RYN005435, appCommitID = null, scriptCommitID = d33d758f73, PCB_ID = 2 +1527 1700773184061 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End +1527 1700773184062 XXXX 1700773184062, Thread 1527: XXXX 1700773184062, Entering Thread 1527: Commands::runScriptWithUpload with script contents. contents[0] = 0x5e, ... +1527 1700773184062 XXXX 1700773184062, Thread 1527: XXXX 1700773184062, Entering Thread 1527: ToolCommUsb::readTransfer, sideData is 0xd bytes long, transferDataLength is 0x4 bytes long +1527 1700773184064 XXXX 1700773184064, Thread 1527: XXXX 1700773184064, Exiting Thread 1527: ToolCommUsb::readTransfer, cr.status = 0x0 +1527 1700773184064 XXXX 1700773184064, Thread 1527: XXXX 1700773184064, Exiting Thread 1527: Commands::runScriptWithUpload + +1527 1700773184064 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:SetPowerInfo +1527 1700773184064 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1527 1700773184064 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 PowerInfo: Values: +1527 1700773184064 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 PowerInfo: shotDownSystem = false, isToolPower = true, voltage = 5,000000, useVppFirst = false, useLowVoltageProgramming = false, useMaintainActivePower = false +1527 1700773184064 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1527 1700773184064 XXXX 1700773184064, Thread 1527: XXXX 1700773184064, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0x39, ... +1527 1700773184065 XXXX 1700773184065, Thread 1527: XXXX 1700773184065, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184065 XXXX 1700773184065, Thread 1527: XXXX 1700773184065, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0x46, ... +1527 1700773184066 XXXX 1700773184066, Thread 1527: XXXX 1700773184066, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184066 XXXX 1700773184066, Thread 1527: XXXX 1700773184066, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0x44, ... +1527 1700773184079 XXXX 1700773184079, Thread 1527: XXXX 1700773184079, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184079 XXXX 1700773184079, Thread 1527: XXXX 1700773184079, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0x40, ... +1527 1700773184258 XXXX 1700773184258, Thread 1527: XXXX 1700773184258, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184258 XXXX 1700773184258, Thread 1527: XXXX 1700773184258, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0x47, ... +1527 1700773184263 XXXX 1700773184263, Thread 1527: XXXX 1700773184263, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184263 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:SetPowerInfo +1527 1700773184263 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1527 1700773184263 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 none +1527 1700773184263 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1527 1700773184263 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:SetLEDBrightness +1527 1700773184263 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1527 1700773184263 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 5 +1527 1700773184263 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1527 1700773184263 XXXX 1700773184263, Thread 1527: XXXX 1700773184263, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xcf, ... +1527 1700773184264 XXXX 1700773184264, Thread 1527: XXXX 1700773184264, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184264 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:SetLEDBrightness +1527 1700773184264 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1527 1700773184264 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 none +1527 1700773184264 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1527 1700773184264 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:SetToolInfo +1527 1700773184264 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1527 1700773184264 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 ToolInfo: Values: +1527 1700773184264 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 ToolInfo: speedLevel = 1, PGCResistance = 4700, PGDResistance = 4700, PGCPullDir = PullDown, PGDPullDir = PullDown, ICSPSelected = Wire2 +1527 1700773184264 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1527 1700773184264 XXXX 1700773184264, Thread 1527: XXXX 1700773184264, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0x27, ... +1527 1700773184265 XXXX 1700773184265, Thread 1527: XXXX 1700773184265, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184265 XXXX 1700773184265, Thread 1527: XXXX 1700773184265, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773184266 XXXX 1700773184266, Thread 1527: XXXX 1700773184266, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184266 XXXX 1700773184266, Thread 1527: XXXX 1700773184266, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773184267 XXXX 1700773184267, Thread 1527: XXXX 1700773184267, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184267 XXXX 1700773184267, Thread 1527: XXXX 1700773184267, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773184268 XXXX 1700773184268, Thread 1527: XXXX 1700773184268, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184268 XXXX 1700773184268, Thread 1527: XXXX 1700773184268, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xd4, ... +1527 1700773184269 XXXX 1700773184269, Thread 1527: XXXX 1700773184269, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184269 XXXX 1700773184269, Thread 1527: XXXX 1700773184269, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xcd, ... +1527 1700773184270 XXXX 1700773184270, Thread 1527: XXXX 1700773184270, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184270 XXXX 1700773184270, Thread 1527: XXXX 1700773184270, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xce, ... +1527 1700773184271 XXXX 1700773184271, Thread 1527: XXXX 1700773184271, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184271 XXXX 1700773184271, Thread 1527: XXXX 1700773184271, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xcd, ... +1527 1700773184272 XXXX 1700773184272, Thread 1527: XXXX 1700773184272, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184272 XXXX 1700773184272, Thread 1527: XXXX 1700773184272, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xce, ... +1527 1700773184273 XXXX 1700773184273, Thread 1527: XXXX 1700773184273, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184273 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:SetToolInfo +1527 1700773184273 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1527 1700773184273 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 none +1527 1700773184273 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1527 1700773184278 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1527 1700773184278 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1527 1700773184278 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1527 1700773184278 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = erase, Mask = 00000000, Erase = false, Production Mode = true +1527 1700773184278 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 0, End = 1fff, Buffer Length = 0, Type = Pgm, Mask = 00000000 +1527 1700773184278 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2007, End = 2008, Buffer Length = 0, Type = Cfg, Mask = 00000000 +1527 1700773184278 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 0, End = ff, Buffer Length = 0, Type = EEData, Mask = 00000000 +1527 1700773184278 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2000, End = 2003, Buffer Length = 0, Type = UserID, Mask = 00000000 +1527 1700773184278 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1527 1700773184278 XXXX 1700773184278, Thread 1527: XXXX 1700773184278, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773184279 XXXX 1700773184279, Thread 1527: XXXX 1700773184279, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184279 XXXX 1700773184279, Thread 1527: XXXX 1700773184279, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773184280 XXXX 1700773184280, Thread 1527: XXXX 1700773184280, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184280 XXXX 1700773184280, Thread 1527: XXXX 1700773184280, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773184281 XXXX 1700773184281, Thread 1527: XXXX 1700773184281, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184281 XXXX 1700773184281, Thread 1527: XXXX 1700773184281, Entering Thread 1527: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1527 1700773184311 XXXX 1700773184311, Thread 1527: XXXX 1700773184311, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184311 XXXX 1700773184311, Thread 1527: XXXX 1700773184311, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773184312 XXXX 1700773184312, Thread 1527: XXXX 1700773184312, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184312 XXXX 1700773184312, Thread 1527: XXXX 1700773184312, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773184313 XXXX 1700773184313, Thread 1527: XXXX 1700773184313, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184313 XXXX 1700773184313, Thread 1527: XXXX 1700773184313, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773184314 XXXX 1700773184314, Thread 1527: XXXX 1700773184314, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184314 XXXX 1700773184314, Thread 1527: XXXX 1700773184314, Entering Thread 1527: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1527 1700773184344 XXXX 1700773184344, Thread 1527: XXXX 1700773184344, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184344 XXXX 1700773184344, Thread 1527: XXXX 1700773184344, Entering Thread 1527: Commands::runScriptBasic, script name = EraseChip, timeOut = 30000 ms +1527 1700773184351 XXXX 1700773184351, Thread 1527: XXXX 1700773184351, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184351 XXXX 1700773184351, Thread 1527: XXXX 1700773184351, Entering Thread 1527: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1527 1700773184353 XXXX 1700773184353, Thread 1527: XXXX 1700773184353, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184353 XXXX 1700773184353, Thread 1527: XXXX 1700773184353, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773184354 XXXX 1700773184354, Thread 1527: XXXX 1700773184354, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184354 XXXX 1700773184354, Thread 1527: XXXX 1700773184354, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773184355 XXXX 1700773184355, Thread 1527: XXXX 1700773184355, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184355 XXXX 1700773184355, Thread 1527: XXXX 1700773184355, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773184356 XXXX 1700773184356, Thread 1527: XXXX 1700773184356, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184356 XXXX 1700773184356, Thread 1527: XXXX 1700773184356, Entering Thread 1527: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1527 1700773184386 XXXX 1700773184386, Thread 1527: XXXX 1700773184386, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184386 XXXX 1700773184386, Thread 1527: XXXX 1700773184386, Entering Thread 1527: Commands::runScriptBasic, script name = EraseDataEEmem, timeOut = 30000 ms +1527 1700773184393 XXXX 1700773184393, Thread 1527: XXXX 1700773184393, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184393 XXXX 1700773184393, Thread 1527: XXXX 1700773184393, Entering Thread 1527: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1527 1700773184395 XXXX 1700773184395, Thread 1527: XXXX 1700773184395, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184395 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1527 1700773184395 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1527 1700773184395 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1527 1700773184395 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1527 1700773184395 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1527 1700773184395 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1527 1700773184395 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1527 1700773184395 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = write, Mask = 00000000, Erase = false, Production Mode = true +1527 1700773184395 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2007, End = 2008, Buffer Length = 4, Type = Cfg, Mask = 00000000 +1527 1700773184395 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1527 1700773184395 XXXX 1700773184395, Thread 1527: XXXX 1700773184395, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773184396 XXXX 1700773184396, Thread 1527: XXXX 1700773184396, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184396 XXXX 1700773184396, Thread 1527: XXXX 1700773184396, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773184397 XXXX 1700773184397, Thread 1527: XXXX 1700773184397, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184397 XXXX 1700773184397, Thread 1527: XXXX 1700773184397, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773184398 XXXX 1700773184398, Thread 1527: XXXX 1700773184398, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184398 XXXX 1700773184398, Thread 1527: XXXX 1700773184398, Entering Thread 1527: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1527 1700773184427 XXXX 1700773184427, Thread 1527: XXXX 1700773184427, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184427 XXXX 1700773184427, Thread 1527: XXXX 1700773184427, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773184427 XXXX 1700773184427, Thread 1527: XXXX 1700773184427, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184427 XXXX 1700773184427, Thread 1527: XXXX 1700773184427, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773184428 XXXX 1700773184428, Thread 1527: XXXX 1700773184428, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184429 XXXX 1700773184429, Thread 1527: XXXX 1700773184429, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773184429 XXXX 1700773184429, Thread 1527: XXXX 1700773184429, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184429 XXXX 1700773184429, Thread 1527: XXXX 1700773184429, Entering Thread 1527: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1527 1700773184460 XXXX 1700773184460, Thread 1527: XXXX 1700773184460, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184460 XXXX 1700773184460, Thread 1527: XXXX 1700773184460, Entering Thread 1527: Commands::runScriptWithDownload, script name = WriteConfigmem +1527 1700773184474 XXXX 1700773184474, Thread 1527: XXXX 1700773184474, Exiting Thread 1527: Commands::runScriptWithDownload(WriteConfigmem) +1527 1700773184474 XXXX 1700773184474, Thread 1527: XXXX 1700773184474, Entering Thread 1527: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1527 1700773184476 XXXX 1700773184476, Thread 1527: XXXX 1700773184476, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184476 XXXX 1700773184476, Thread 1527: XXXX 1700773184476, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773184477 XXXX 1700773184477, Thread 1527: XXXX 1700773184477, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184477 XXXX 1700773184477, Thread 1527: XXXX 1700773184477, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773184478 XXXX 1700773184478, Thread 1527: XXXX 1700773184478, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184478 XXXX 1700773184478, Thread 1527: XXXX 1700773184478, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773184479 XXXX 1700773184479, Thread 1527: XXXX 1700773184479, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184479 XXXX 1700773184479, Thread 1527: XXXX 1700773184479, Entering Thread 1527: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1527 1700773184508 XXXX 1700773184508, Thread 1527: XXXX 1700773184508, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184508 XXXX 1700773184508, Thread 1527: XXXX 1700773184508, Entering Thread 1527: Commands::runScriptWithUpload, script name = ReadConfigmem +1527 1700773184508 XXXX 1700773184508, Thread 1527: XXXX 1700773184508, Entering Thread 1527: ToolCommUsb::readTransfer, sideData is 0x55 bytes long, transferDataLength is 0x4 bytes long +1527 1700773184511 XXXX 1700773184511, Thread 1527: XXXX 1700773184511, Exiting Thread 1527: ToolCommUsb::readTransfer, cr.status = 0x0 +1527 1700773184511 XXXX 1700773184511, Thread 1527: XXXX 1700773184511, Exiting Thread 1527: Commands::runScriptWithUpload +1527 1700773184511 XXXX 1700773184511, Thread 1527: XXXX 1700773184511, Entering Thread 1527: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1527 1700773184513 XXXX 1700773184513, Thread 1527: XXXX 1700773184513, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184513 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1527 1700773184513 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1527 1700773184513 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1527 1700773184513 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1527 1700773184514 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1527 1700773184514 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1527 1700773184514 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1527 1700773184514 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = write, Mask = 00000000, Erase = false, Production Mode = true +1527 1700773184514 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 0, End = 33f, Buffer Length = 1664, Type = Pgm, Mask = 00000000 +1527 1700773184514 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2007, End = 2008, Buffer Length = 4, Type = Cfg, Mask = 00000000 +1527 1700773184514 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1527 1700773184514 XXXX 1700773184514, Thread 1527: XXXX 1700773184514, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773184515 XXXX 1700773184515, Thread 1527: XXXX 1700773184515, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184515 XXXX 1700773184515, Thread 1527: XXXX 1700773184515, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773184516 XXXX 1700773184516, Thread 1527: XXXX 1700773184516, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184516 XXXX 1700773184516, Thread 1527: XXXX 1700773184516, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773184517 XXXX 1700773184517, Thread 1527: XXXX 1700773184517, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184517 XXXX 1700773184517, Thread 1527: XXXX 1700773184517, Entering Thread 1527: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1527 1700773184546 XXXX 1700773184546, Thread 1527: XXXX 1700773184546, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184546 XXXX 1700773184546, Thread 1527: XXXX 1700773184546, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773184547 XXXX 1700773184547, Thread 1527: XXXX 1700773184547, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184547 XXXX 1700773184547, Thread 1527: XXXX 1700773184547, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773184548 XXXX 1700773184548, Thread 1527: XXXX 1700773184548, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184548 XXXX 1700773184548, Thread 1527: XXXX 1700773184548, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773184548 XXXX 1700773184548, Thread 1527: XXXX 1700773184548, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184550 XXXX 1700773184550, Thread 1527: XXXX 1700773184550, Entering Thread 1527: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1527 1700773184578 XXXX 1700773184578, Thread 1527: XXXX 1700773184578, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184578 XXXX 1700773184578, Thread 1527: XXXX 1700773184578, Entering Thread 1527: Commands::runScriptWithDownload, script name = WriteProgmem +1527 1700773184931 XXXX 1700773184931, Thread 1527: XXXX 1700773184931, Exiting Thread 1527: Commands::runScriptWithDownload(WriteProgmem) +1527 1700773184931 XXXX 1700773184931, Thread 1527: XXXX 1700773184931, Entering Thread 1527: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1527 1700773184933 XXXX 1700773184933, Thread 1527: XXXX 1700773184933, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184933 XXXX 1700773184933, Thread 1527: XXXX 1700773184933, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773184933 XXXX 1700773184933, Thread 1527: XXXX 1700773184933, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184933 XXXX 1700773184933, Thread 1527: XXXX 1700773184933, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773184934 XXXX 1700773184934, Thread 1527: XXXX 1700773184934, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184934 XXXX 1700773184934, Thread 1527: XXXX 1700773184934, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773184935 XXXX 1700773184935, Thread 1527: XXXX 1700773184935, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184935 XXXX 1700773184935, Thread 1527: XXXX 1700773184935, Entering Thread 1527: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1527 1700773184965 XXXX 1700773184965, Thread 1527: XXXX 1700773184965, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773184965 XXXX 1700773184965, Thread 1527: XXXX 1700773184965, Entering Thread 1527: Commands::runScriptWithUpload, script name = ReadProgmem +1527 1700773184965 XXXX 1700773184965, Thread 1527: XXXX 1700773184965, Entering Thread 1527: ToolCommUsb::readTransfer, sideData is 0x3d bytes long, transferDataLength is 0x680 bytes long +1527 1700773185003 XXXX 1700773185003, Thread 1527: XXXX 1700773185003, Exiting Thread 1527: ToolCommUsb::readTransfer, cr.status = 0x0 +1527 1700773185003 XXXX 1700773185003, Thread 1527: XXXX 1700773185003, Exiting Thread 1527: Commands::runScriptWithUpload +1527 1700773185003 XXXX 1700773185003, Thread 1527: XXXX 1700773185003, Entering Thread 1527: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1527 1700773185005 XXXX 1700773185005, Thread 1527: XXXX 1700773185005, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185005 XXXX 1700773185005, Thread 1527: XXXX 1700773185005, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773185006 XXXX 1700773185006, Thread 1527: XXXX 1700773185006, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185006 XXXX 1700773185006, Thread 1527: XXXX 1700773185006, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773185007 XXXX 1700773185007, Thread 1527: XXXX 1700773185007, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185007 XXXX 1700773185007, Thread 1527: XXXX 1700773185007, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773185008 XXXX 1700773185008, Thread 1527: XXXX 1700773185008, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185008 XXXX 1700773185008, Thread 1527: XXXX 1700773185008, Entering Thread 1527: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1527 1700773185037 XXXX 1700773185037, Thread 1527: XXXX 1700773185037, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185037 XXXX 1700773185037, Thread 1527: XXXX 1700773185037, Entering Thread 1527: Commands::runScriptWithDownload, script name = WriteConfigmem +1527 1700773185051 XXXX 1700773185051, Thread 1527: XXXX 1700773185051, Exiting Thread 1527: Commands::runScriptWithDownload(WriteConfigmem) +1527 1700773185051 XXXX 1700773185051, Thread 1527: XXXX 1700773185051, Entering Thread 1527: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1527 1700773185053 XXXX 1700773185053, Thread 1527: XXXX 1700773185053, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185053 XXXX 1700773185053, Thread 1527: XXXX 1700773185053, Entering Thread 1527: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1527 1700773185054 XXXX 1700773185054, Thread 1527: XXXX 1700773185054, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185054 XXXX 1700773185054, Thread 1527: XXXX 1700773185054, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1527 1700773185055 XXXX 1700773185055, Thread 1527: XXXX 1700773185055, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185055 XXXX 1700773185055, Thread 1527: XXXX 1700773185055, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1527 1700773185056 XXXX 1700773185056, Thread 1527: XXXX 1700773185056, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185056 XXXX 1700773185056, Thread 1527: XXXX 1700773185056, Entering Thread 1527: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1527 1700773185086 XXXX 1700773185086, Thread 1527: XXXX 1700773185086, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185086 XXXX 1700773185086, Thread 1527: XXXX 1700773185086, Entering Thread 1527: Commands::runScriptWithUpload, script name = ReadConfigmem +1527 1700773185086 XXXX 1700773185086, Thread 1527: XXXX 1700773185086, Entering Thread 1527: ToolCommUsb::readTransfer, sideData is 0x55 bytes long, transferDataLength is 0x4 bytes long +1527 1700773185089 XXXX 1700773185089, Thread 1527: XXXX 1700773185089, Exiting Thread 1527: ToolCommUsb::readTransfer, cr.status = 0x0 +1527 1700773185089 XXXX 1700773185089, Thread 1527: XXXX 1700773185089, Exiting Thread 1527: Commands::runScriptWithUpload +1527 1700773185089 XXXX 1700773185089, Thread 1527: XXXX 1700773185089, Entering Thread 1527: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1527 1700773185091 XXXX 1700773185091, Thread 1527: XXXX 1700773185091, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185091 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1527 1700773185091 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1527 1700773185091 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1527 1700773185091 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1527 1700773185091 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:endOfOperations +1527 1700773185091 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1527 1700773185091 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 null +1527 1700773185091 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1527 1700773185091 XXXX 1700773185091, Thread 1527: XXXX 1700773185091, Entering Thread 1527: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1527 1700773185093 XXXX 1700773185093, Thread 1527: XXXX 1700773185093, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185093 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:endOfOperations +1527 1700773185093 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1527 1700773185093 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1527 1700773185093 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1527 1700773185095 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1527 1700773185095 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1527 1700773185095 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1527 1700773185095 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = releasefromreset, Mask = 00000000, Erase = false, Production Mode = true +1527 1700773185095 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1527 1700773185095 XXXX 1700773185095, Thread 1527: XXXX 1700773185095, Entering Thread 1527: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1527 1700773185097 XXXX 1700773185097, Thread 1527: XXXX 1700773185097, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185097 XXXX 1700773185097, Thread 1527: XXXX 1700773185097, Entering Thread 1527: Commands::runScriptBasic with script contents. contents[0] = 0x42, ... +1527 1700773185098 XXXX 1700773185098, Thread 1527: XXXX 1700773185098, Exiting Thread 1527: Commands::runScriptBasic +1527 1700773185098 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1527 1700773185098 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1527 1700773185098 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1527 1700773185098 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1546 1700773217156 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:EstablishCommunincations +1546 1700773217156 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1546 1700773217156 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 com.microchip.mplab.mdbcore.PK5Tool.PK5Com@5ad58810 +1546 1700773217156 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1546 1700773217157 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:EstablishCommunincations +1546 1700773217157 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1546 1700773217157 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 true +1546 1700773217157 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1546 1700773217157 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:GetFirmwareInfo +1546 1700773217157 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1546 1700773217157 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 null +1546 1700773217157 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1546 1700773217164 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:GetFirmwareInfo +1546 1700773217164 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1546 1700773217164 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 FirmwareInfo: Values: +1546 1700773217164 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 FirmwareInfo: boot = false, bootVer = 00.00.10, apVer = 02.00.84, fpgaVer = ff.ff.ff, scriptVer = 00.05.85, macAddress = 0504883548174844852485054485057, devID = a1020e01, devID1 = 2, devSN0 = ffffffff, devSN1 = ffffffff, serialNumber = 020026702RYN005435, appCommitID = null, scriptCommitID = d33d758f73, PCB_ID = 2 +1546 1700773217164 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End +1546 1700773217165 XXXX 1700773217165, Thread 1546: XXXX 1700773217165, Entering Thread 1546: Commands::runScriptWithUpload with script contents. contents[0] = 0x5e, ... +1546 1700773217165 XXXX 1700773217165, Thread 1546: XXXX 1700773217165, Entering Thread 1546: ToolCommUsb::readTransfer, sideData is 0xd bytes long, transferDataLength is 0x4 bytes long +1546 1700773217167 XXXX 1700773217167, Thread 1546: XXXX 1700773217167, Exiting Thread 1546: ToolCommUsb::readTransfer, cr.status = 0x0 +1546 1700773217167 XXXX 1700773217167, Thread 1546: XXXX 1700773217167, Exiting Thread 1546: Commands::runScriptWithUpload + +1546 1700773217167 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:SetPowerInfo +1546 1700773217167 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1546 1700773217167 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 PowerInfo: Values: +1546 1700773217167 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 PowerInfo: shotDownSystem = false, isToolPower = true, voltage = 5,000000, useVppFirst = false, useLowVoltageProgramming = false, useMaintainActivePower = false +1546 1700773217167 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1546 1700773217167 XXXX 1700773217167, Thread 1546: XXXX 1700773217167, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0x39, ... +1546 1700773217168 XXXX 1700773217168, Thread 1546: XXXX 1700773217168, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217168 XXXX 1700773217168, Thread 1546: XXXX 1700773217168, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0x46, ... +1546 1700773217169 XXXX 1700773217169, Thread 1546: XXXX 1700773217169, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217169 XXXX 1700773217169, Thread 1546: XXXX 1700773217169, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0x44, ... +1546 1700773217181 XXXX 1700773217181, Thread 1546: XXXX 1700773217181, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217181 XXXX 1700773217181, Thread 1546: XXXX 1700773217181, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0x40, ... +1546 1700773217361 XXXX 1700773217361, Thread 1546: XXXX 1700773217361, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217361 XXXX 1700773217361, Thread 1546: XXXX 1700773217361, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0x47, ... +1546 1700773217366 XXXX 1700773217366, Thread 1546: XXXX 1700773217366, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217366 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:SetPowerInfo +1546 1700773217366 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1546 1700773217366 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 none +1546 1700773217366 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1546 1700773217366 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:SetLEDBrightness +1546 1700773217366 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1546 1700773217366 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 5 +1546 1700773217366 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1546 1700773217366 XXXX 1700773217366, Thread 1546: XXXX 1700773217366, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xcf, ... +1546 1700773217367 XXXX 1700773217367, Thread 1546: XXXX 1700773217367, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217367 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:SetLEDBrightness +1546 1700773217367 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1546 1700773217367 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 none +1546 1700773217367 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1546 1700773217367 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:SetToolInfo +1546 1700773217367 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1546 1700773217367 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 ToolInfo: Values: +1546 1700773217367 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 ToolInfo: speedLevel = 1, PGCResistance = 4700, PGDResistance = 4700, PGCPullDir = PullDown, PGDPullDir = PullDown, ICSPSelected = Wire2 +1546 1700773217367 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1546 1700773217367 XXXX 1700773217367, Thread 1546: XXXX 1700773217367, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0x27, ... +1546 1700773217368 XXXX 1700773217368, Thread 1546: XXXX 1700773217368, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217368 XXXX 1700773217368, Thread 1546: XXXX 1700773217368, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773217369 XXXX 1700773217369, Thread 1546: XXXX 1700773217369, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217369 XXXX 1700773217369, Thread 1546: XXXX 1700773217369, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773217370 XXXX 1700773217370, Thread 1546: XXXX 1700773217370, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217370 XXXX 1700773217370, Thread 1546: XXXX 1700773217370, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773217371 XXXX 1700773217371, Thread 1546: XXXX 1700773217371, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217371 XXXX 1700773217371, Thread 1546: XXXX 1700773217371, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xd4, ... +1546 1700773217372 XXXX 1700773217372, Thread 1546: XXXX 1700773217372, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217372 XXXX 1700773217372, Thread 1546: XXXX 1700773217372, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xcd, ... +1546 1700773217373 XXXX 1700773217373, Thread 1546: XXXX 1700773217373, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217373 XXXX 1700773217373, Thread 1546: XXXX 1700773217373, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xce, ... +1546 1700773217374 XXXX 1700773217374, Thread 1546: XXXX 1700773217374, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217374 XXXX 1700773217374, Thread 1546: XXXX 1700773217374, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xcd, ... +1546 1700773217375 XXXX 1700773217375, Thread 1546: XXXX 1700773217375, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217375 XXXX 1700773217375, Thread 1546: XXXX 1700773217375, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xce, ... +1546 1700773217376 XXXX 1700773217376, Thread 1546: XXXX 1700773217376, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217376 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:SetToolInfo +1546 1700773217376 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1546 1700773217376 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 none +1546 1700773217376 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1546 1700773217381 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1546 1700773217381 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1546 1700773217381 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1546 1700773217381 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = erase, Mask = 00000000, Erase = false, Production Mode = true +1546 1700773217381 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 0, End = 1fff, Buffer Length = 0, Type = Pgm, Mask = 00000000 +1546 1700773217381 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2007, End = 2008, Buffer Length = 0, Type = Cfg, Mask = 00000000 +1546 1700773217381 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 0, End = ff, Buffer Length = 0, Type = EEData, Mask = 00000000 +1546 1700773217381 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2000, End = 2003, Buffer Length = 0, Type = UserID, Mask = 00000000 +1546 1700773217381 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1546 1700773217381 XXXX 1700773217381, Thread 1546: XXXX 1700773217381, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773217382 XXXX 1700773217382, Thread 1546: XXXX 1700773217382, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217382 XXXX 1700773217382, Thread 1546: XXXX 1700773217382, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773217383 XXXX 1700773217383, Thread 1546: XXXX 1700773217383, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217383 XXXX 1700773217383, Thread 1546: XXXX 1700773217383, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773217384 XXXX 1700773217384, Thread 1546: XXXX 1700773217384, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217384 XXXX 1700773217384, Thread 1546: XXXX 1700773217384, Entering Thread 1546: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1546 1700773217413 XXXX 1700773217413, Thread 1546: XXXX 1700773217413, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217414 XXXX 1700773217414, Thread 1546: XXXX 1700773217414, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773217414 XXXX 1700773217414, Thread 1546: XXXX 1700773217414, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217414 XXXX 1700773217414, Thread 1546: XXXX 1700773217414, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773217415 XXXX 1700773217415, Thread 1546: XXXX 1700773217415, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217415 XXXX 1700773217415, Thread 1546: XXXX 1700773217415, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773217416 XXXX 1700773217416, Thread 1546: XXXX 1700773217416, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217416 XXXX 1700773217416, Thread 1546: XXXX 1700773217416, Entering Thread 1546: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1546 1700773217445 XXXX 1700773217445, Thread 1546: XXXX 1700773217445, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217445 XXXX 1700773217445, Thread 1546: XXXX 1700773217445, Entering Thread 1546: Commands::runScriptBasic, script name = EraseChip, timeOut = 30000 ms +1546 1700773217453 XXXX 1700773217453, Thread 1546: XXXX 1700773217453, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217453 XXXX 1700773217453, Thread 1546: XXXX 1700773217453, Entering Thread 1546: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1546 1700773217455 XXXX 1700773217455, Thread 1546: XXXX 1700773217455, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217455 XXXX 1700773217455, Thread 1546: XXXX 1700773217455, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773217456 XXXX 1700773217456, Thread 1546: XXXX 1700773217456, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217456 XXXX 1700773217456, Thread 1546: XXXX 1700773217456, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773217457 XXXX 1700773217457, Thread 1546: XXXX 1700773217457, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217457 XXXX 1700773217457, Thread 1546: XXXX 1700773217457, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773217459 XXXX 1700773217459, Thread 1546: XXXX 1700773217459, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217459 XXXX 1700773217459, Thread 1546: XXXX 1700773217459, Entering Thread 1546: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1546 1700773217489 XXXX 1700773217489, Thread 1546: XXXX 1700773217489, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217489 XXXX 1700773217489, Thread 1546: XXXX 1700773217489, Entering Thread 1546: Commands::runScriptBasic, script name = EraseDataEEmem, timeOut = 30000 ms +1546 1700773217496 XXXX 1700773217496, Thread 1546: XXXX 1700773217496, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217496 XXXX 1700773217496, Thread 1546: XXXX 1700773217496, Entering Thread 1546: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1546 1700773217498 XXXX 1700773217498, Thread 1546: XXXX 1700773217498, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217498 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1546 1700773217498 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1546 1700773217498 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1546 1700773217498 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1546 1700773217498 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1546 1700773217498 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1546 1700773217498 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1546 1700773217498 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = write, Mask = 00000000, Erase = false, Production Mode = true +1546 1700773217498 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2007, End = 2008, Buffer Length = 4, Type = Cfg, Mask = 00000000 +1546 1700773217498 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1546 1700773217498 XXXX 1700773217498, Thread 1546: XXXX 1700773217498, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773217499 XXXX 1700773217499, Thread 1546: XXXX 1700773217499, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217499 XXXX 1700773217499, Thread 1546: XXXX 1700773217499, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773217500 XXXX 1700773217500, Thread 1546: XXXX 1700773217500, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217500 XXXX 1700773217500, Thread 1546: XXXX 1700773217500, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773217501 XXXX 1700773217501, Thread 1546: XXXX 1700773217501, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217501 XXXX 1700773217501, Thread 1546: XXXX 1700773217501, Entering Thread 1546: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1546 1700773217530 XXXX 1700773217530, Thread 1546: XXXX 1700773217530, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217530 XXXX 1700773217530, Thread 1546: XXXX 1700773217530, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773217531 XXXX 1700773217531, Thread 1546: XXXX 1700773217531, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217531 XXXX 1700773217531, Thread 1546: XXXX 1700773217531, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773217532 XXXX 1700773217532, Thread 1546: XXXX 1700773217532, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217532 XXXX 1700773217532, Thread 1546: XXXX 1700773217532, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773217533 XXXX 1700773217533, Thread 1546: XXXX 1700773217533, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217533 XXXX 1700773217533, Thread 1546: XXXX 1700773217533, Entering Thread 1546: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1546 1700773217563 XXXX 1700773217563, Thread 1546: XXXX 1700773217563, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217563 XXXX 1700773217563, Thread 1546: XXXX 1700773217563, Entering Thread 1546: Commands::runScriptWithDownload, script name = WriteConfigmem +1546 1700773217577 XXXX 1700773217577, Thread 1546: XXXX 1700773217577, Exiting Thread 1546: Commands::runScriptWithDownload(WriteConfigmem) +1546 1700773217577 XXXX 1700773217577, Thread 1546: XXXX 1700773217577, Entering Thread 1546: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1546 1700773217579 XXXX 1700773217579, Thread 1546: XXXX 1700773217579, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217579 XXXX 1700773217579, Thread 1546: XXXX 1700773217579, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773217580 XXXX 1700773217580, Thread 1546: XXXX 1700773217580, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217580 XXXX 1700773217580, Thread 1546: XXXX 1700773217580, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773217581 XXXX 1700773217581, Thread 1546: XXXX 1700773217581, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217581 XXXX 1700773217581, Thread 1546: XXXX 1700773217581, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773217582 XXXX 1700773217582, Thread 1546: XXXX 1700773217582, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217582 XXXX 1700773217582, Thread 1546: XXXX 1700773217582, Entering Thread 1546: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1546 1700773217610 XXXX 1700773217610, Thread 1546: XXXX 1700773217610, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217610 XXXX 1700773217610, Thread 1546: XXXX 1700773217610, Entering Thread 1546: Commands::runScriptWithUpload, script name = ReadConfigmem +1546 1700773217611 XXXX 1700773217611, Thread 1546: XXXX 1700773217611, Entering Thread 1546: ToolCommUsb::readTransfer, sideData is 0x55 bytes long, transferDataLength is 0x4 bytes long +1546 1700773217613 XXXX 1700773217613, Thread 1546: XXXX 1700773217613, Exiting Thread 1546: ToolCommUsb::readTransfer, cr.status = 0x0 +1546 1700773217613 XXXX 1700773217613, Thread 1546: XXXX 1700773217613, Exiting Thread 1546: Commands::runScriptWithUpload +1546 1700773217613 XXXX 1700773217613, Thread 1546: XXXX 1700773217613, Entering Thread 1546: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1546 1700773217615 XXXX 1700773217615, Thread 1546: XXXX 1700773217615, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217615 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1546 1700773217615 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1546 1700773217615 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1546 1700773217615 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1546 1700773217617 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1546 1700773217617 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1546 1700773217617 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1546 1700773217617 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = write, Mask = 00000000, Erase = false, Production Mode = true +1546 1700773217617 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 0, End = 39f, Buffer Length = 1856, Type = Pgm, Mask = 00000000 +1546 1700773217617 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 TransferInfo: Start = 2007, End = 2008, Buffer Length = 4, Type = Cfg, Mask = 00000000 +1546 1700773217617 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1546 1700773217617 XXXX 1700773217617, Thread 1546: XXXX 1700773217617, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773217618 XXXX 1700773217618, Thread 1546: XXXX 1700773217618, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217618 XXXX 1700773217618, Thread 1546: XXXX 1700773217618, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773217619 XXXX 1700773217619, Thread 1546: XXXX 1700773217619, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217619 XXXX 1700773217619, Thread 1546: XXXX 1700773217619, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773217620 XXXX 1700773217620, Thread 1546: XXXX 1700773217620, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217620 XXXX 1700773217620, Thread 1546: XXXX 1700773217620, Entering Thread 1546: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1546 1700773217650 XXXX 1700773217650, Thread 1546: XXXX 1700773217650, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217650 XXXX 1700773217650, Thread 1546: XXXX 1700773217650, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773217651 XXXX 1700773217651, Thread 1546: XXXX 1700773217651, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217651 XXXX 1700773217651, Thread 1546: XXXX 1700773217651, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773217652 XXXX 1700773217652, Thread 1546: XXXX 1700773217652, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217652 XXXX 1700773217652, Thread 1546: XXXX 1700773217652, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773217653 XXXX 1700773217653, Thread 1546: XXXX 1700773217653, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217653 XXXX 1700773217653, Thread 1546: XXXX 1700773217653, Entering Thread 1546: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1546 1700773217682 XXXX 1700773217682, Thread 1546: XXXX 1700773217682, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773217682 XXXX 1700773217682, Thread 1546: XXXX 1700773217682, Entering Thread 1546: Commands::runScriptWithDownload, script name = WriteProgmem +1546 1700773218075 XXXX 1700773218075, Thread 1546: XXXX 1700773218075, Exiting Thread 1546: Commands::runScriptWithDownload(WriteProgmem) +1546 1700773218075 XXXX 1700773218075, Thread 1546: XXXX 1700773218075, Entering Thread 1546: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1546 1700773218076 XXXX 1700773218076, Thread 1546: XXXX 1700773218076, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218077 XXXX 1700773218077, Thread 1546: XXXX 1700773218077, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773218077 XXXX 1700773218077, Thread 1546: XXXX 1700773218077, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218077 XXXX 1700773218077, Thread 1546: XXXX 1700773218077, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773218078 XXXX 1700773218078, Thread 1546: XXXX 1700773218078, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218078 XXXX 1700773218078, Thread 1546: XXXX 1700773218078, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773218079 XXXX 1700773218079, Thread 1546: XXXX 1700773218079, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218079 XXXX 1700773218079, Thread 1546: XXXX 1700773218079, Entering Thread 1546: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1546 1700773218109 XXXX 1700773218109, Thread 1546: XXXX 1700773218109, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218109 XXXX 1700773218109, Thread 1546: XXXX 1700773218109, Entering Thread 1546: Commands::runScriptWithUpload, script name = ReadProgmem +1546 1700773218109 XXXX 1700773218109, Thread 1546: XXXX 1700773218109, Entering Thread 1546: ToolCommUsb::readTransfer, sideData is 0x3d bytes long, transferDataLength is 0x740 bytes long +1546 1700773218152 XXXX 1700773218152, Thread 1546: XXXX 1700773218152, Exiting Thread 1546: ToolCommUsb::readTransfer, cr.status = 0x0 +1546 1700773218152 XXXX 1700773218152, Thread 1546: XXXX 1700773218152, Exiting Thread 1546: Commands::runScriptWithUpload +1546 1700773218152 XXXX 1700773218152, Thread 1546: XXXX 1700773218152, Entering Thread 1546: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1546 1700773218154 XXXX 1700773218154, Thread 1546: XXXX 1700773218154, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218154 XXXX 1700773218154, Thread 1546: XXXX 1700773218154, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773218155 XXXX 1700773218155, Thread 1546: XXXX 1700773218155, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218155 XXXX 1700773218155, Thread 1546: XXXX 1700773218155, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773218156 XXXX 1700773218156, Thread 1546: XXXX 1700773218156, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218156 XXXX 1700773218156, Thread 1546: XXXX 1700773218156, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773218157 XXXX 1700773218157, Thread 1546: XXXX 1700773218157, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218157 XXXX 1700773218157, Thread 1546: XXXX 1700773218157, Entering Thread 1546: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1546 1700773218187 XXXX 1700773218187, Thread 1546: XXXX 1700773218187, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218187 XXXX 1700773218187, Thread 1546: XXXX 1700773218187, Entering Thread 1546: Commands::runScriptWithDownload, script name = WriteConfigmem +1546 1700773218200 XXXX 1700773218200, Thread 1546: XXXX 1700773218200, Exiting Thread 1546: Commands::runScriptWithDownload(WriteConfigmem) +1546 1700773218200 XXXX 1700773218200, Thread 1546: XXXX 1700773218200, Entering Thread 1546: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1546 1700773218202 XXXX 1700773218202, Thread 1546: XXXX 1700773218202, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218202 XXXX 1700773218202, Thread 1546: XXXX 1700773218202, Entering Thread 1546: Commands::runScriptBasic, script name = SetSpeedFromDevice, timeOut = -1 ms +1546 1700773218203 XXXX 1700773218203, Thread 1546: XXXX 1700773218203, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218203 XXXX 1700773218203, Thread 1546: XXXX 1700773218203, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xed, ... +1546 1700773218204 XXXX 1700773218204, Thread 1546: XXXX 1700773218204, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218204 XXXX 1700773218204, Thread 1546: XXXX 1700773218204, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0xec, ... +1546 1700773218205 XXXX 1700773218205, Thread 1546: XXXX 1700773218205, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218205 XXXX 1700773218205, Thread 1546: XXXX 1700773218205, Entering Thread 1546: Commands::runScriptBasic, script name = EnterTMOD_HV, timeOut = -1 ms +1546 1700773218235 XXXX 1700773218235, Thread 1546: XXXX 1700773218235, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218235 XXXX 1700773218235, Thread 1546: XXXX 1700773218235, Entering Thread 1546: Commands::runScriptWithUpload, script name = ReadConfigmem +1546 1700773218235 XXXX 1700773218235, Thread 1546: XXXX 1700773218235, Entering Thread 1546: ToolCommUsb::readTransfer, sideData is 0x55 bytes long, transferDataLength is 0x4 bytes long +1546 1700773218238 XXXX 1700773218238, Thread 1546: XXXX 1700773218238, Exiting Thread 1546: ToolCommUsb::readTransfer, cr.status = 0x0 +1546 1700773218238 XXXX 1700773218238, Thread 1546: XXXX 1700773218238, Exiting Thread 1546: Commands::runScriptWithUpload +1546 1700773218238 XXXX 1700773218238, Thread 1546: XXXX 1700773218238, Entering Thread 1546: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1546 1700773218240 XXXX 1700773218240, Thread 1546: XXXX 1700773218240, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218240 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1546 1700773218240 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1546 1700773218240 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1546 1700773218240 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1546 1700773218240 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:endOfOperations +1546 1700773218240 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1546 1700773218240 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 null +1546 1700773218240 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1546 1700773218240 XXXX 1700773218240, Thread 1546: XXXX 1700773218240, Entering Thread 1546: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1546 1700773218242 XXXX 1700773218242, Thread 1546: XXXX 1700773218242, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218242 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:endOfOperations +1546 1700773218242 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1546 1700773218242 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1546 1700773218242 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End + +1546 1700773218244 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Pre:SendOperation +1546 1700773218244 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload +1546 1700773218244 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Values: +1546 1700773218244 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 OperationInfo: Type = releasefromreset, Mask = 00000000, Erase = false, Production Mode = true +1546 1700773218244 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Payload End +1546 1700773218244 XXXX 1700773218244, Thread 1546: XXXX 1700773218244, Entering Thread 1546: Commands::runScriptBasic, script name = ExitTMOD, timeOut = -1 ms +1546 1700773218246 XXXX 1700773218246, Thread 1546: XXXX 1700773218246, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218246 XXXX 1700773218246, Thread 1546: XXXX 1700773218246, Entering Thread 1546: Commands::runScriptBasic with script contents. contents[0] = 0x42, ... +1546 1700773218247 XXXX 1700773218247, Thread 1546: XXXX 1700773218247, Exiting Thread 1546: Commands::runScriptBasic +1546 1700773218247 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Post:SendOperation +1546 1700773218247 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return Value +1546 1700773218247 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 None +1546 1700773218247 GEN4_TO_CONTROLLER_LOG:GEN4_PROGRAM_INT_LOG_PIC16F887 Return End +140 1700774858588 GEN4_CONNECT_DIAGNOSTICS:Calling Update on plug and play observer com.microchip.mplab.mdbcore.RI4Tool.RI4ToolBase$RI4PlugNPlayObserver@682b9ba9 +140 1700774858588 GEN4_CONNECT_DIAGNOSTICS:Entering plug and play Update(). Attached PID = 9036 +140 1700774858588 GEN4_CONNECT_DIAGNOSTICS:Entering MPLABCommEvent handler +140 1700774858588 GEN4_CONNECT_DIAGNOSTICS:MPLABCommEvent.pid = 9036 +140 1700774858588 GEN4_CONNECT_DIAGNOSTICS:eventType = MPLABCOMM_TOOL_UNPLUGGED +140 1700774858588 GEN4_CONNECT_DIAGNOSTICS:Exiting plug and play Update() +140 1700774859261 GEN4_CONNECT_DIAGNOSTICS:Before MPLABCommTool.Connect() +140 1700774859261 GEN4_CONNECT_DIAGNOSTICS:After MPLABCommTool.Connect() +140 1700774859262 GEN4_CONNECT_DIAGNOSTICS:Calling Update on plug and play observer com.microchip.mplab.mdbcore.RI4Tool.RI4ToolBase$RI4PlugNPlayObserver@682b9ba9 +140 1700774859262 GEN4_CONNECT_DIAGNOSTICS:Entering plug and play Update(). Attached PID = 9036 +140 1700774859262 GEN4_CONNECT_DIAGNOSTICS:Entering MPLABCommEvent handler +140 1700774859262 GEN4_CONNECT_DIAGNOSTICS:MPLABCommEvent.pid = 9036 +140 1700774859262 GEN4_CONNECT_DIAGNOSTICS:eventType = MPLABCOMM_TOOL_PLUGGEDIN + +140 1700774859262 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:GetFirmwareInfo +140 1700774859262 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +140 1700774859262 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 null +140 1700774859262 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +140 1700774859263 XXXX 1700774859263, Thread 140: com.Send returned false +140 1700774859263 XXXX 1700774859263, Thread 140: execCommand: exception after writeSideChanel null +140 1700774859263 GEN4_CONNECT_DIAGNOSTICS:Exiting plug and play Update() + +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:EstablishCommunincations +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 com.microchip.mplab.mdbcore.PK5Tool.PK5Com@5ad58810 +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Post:EstablishCommunincations +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return Value +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 true +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Return End + +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Pre:GetFirmwareInfo +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 null +1603 1700774996629 GEN4_TO_CONTROLLER_LOG:GEN4_CONNECT_INT_LOG_PIC16F887 Payload End +1603 1700774996630 XXXX 1700774996630, Thread 1603: com.Send returned false +1603 1700774996630 XXXX 1700774996630, Thread 1603: execCommand: exception after writeSideChanel null diff --git a/dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.cmf b/dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.cmf new file mode 100644 index 0000000..93f7324 --- /dev/null +++ b/dist/default/debug/W4_-_Pot___Rotary_-_kopie.debug.cmf @@ -0,0 +1,603 @@ +%CMF +# %PSECTS Section +# For each object file, details of its psects are enumerated here. +# The begining of the section is indicated by %PSECTS. The first +# line indicates the name of the first object file, e.g. +# $foo.obj +# Each line that follows describes a psect in that object file, until +# the next object file. The lines that describe a psect have the +# format: +# +# All addresses and the length are given in unqualified hexadecimal +# in delta units. Any other numeric values are decimal. +%PSECTS +$C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_12.o +reset_vec CODE 0 0 0 4 2 1 +end_init CODE 0 10 10 3 2 1 +config CONFIG 4 2007 2007 2 2 1 +$dist/default/debug\W4_-_Pot___Rotary_-_kopie.debug.o +cinit CODE 0 7E4 7E4 1C 2 1 +text1 CODE 0 743 743 A1 2 1 +text2 CODE 0 4B9 4B9 14 2 1 +text3 CODE 0 605 605 5C 2 1 +text4 CODE 0 4CD 4CD 27 2 1 +text5 CODE 0 661 661 69 2 1 +text6 CODE 0 6CA 6CA 79 2 1 +text7 CODE 0 554 554 33 2 1 +text8 CODE 0 587 587 38 2 1 +text9 CODE 0 494 494 12 2 1 +text10 CODE 0 4F4 4F4 2F 2 1 +text11 CODE 0 523 523 31 2 1 +text12 CODE 0 5BF 5BF 46 2 1 +maintext CODE 0 477 477 D 2 1 +cstackCOMMON COMMON 1 71 71 C 1 1 +cstackBANK0 BANK0 1 20 20 23 1 1 +inittext CODE 0 4A6 4A6 13 2 1 +intentry CODE 0 4 4 C 2 1 +bssBANK0 BANK0 1 53 53 9 1 1 +idataBANK0 CODE 0 484 484 10 2 1 +dataBANK0 BANK0 1 43 43 10 1 1 +bssCOMMON COMMON 1 7D 7D 1 1 1 +config CONFIG 4 2007 2007 2 2 1 +# %UNUSED Section +# This section enumerates the unused ranges of each CLASS. Each entry +# is described on a single line as follows: +# +# Addresses given in the range are in hexadecimal and units of delta. +%UNUSED +RAM 5C-6F 1 +RAM A0-EF 1 +RAM 110-16F 1 +RAM 190-1E4 1 +BANK0 5C-6F 1 +BANK1 A0-EF 1 +BANK2 110-16F 1 +BANK3 190-1E4 1 +CONST 13-476 2 +CONST 800-1EFF 2 +ENTRY 13-476 2 +ENTRY 800-1EFF 2 +IDLOC 2000-2003 2 +CODE 13-476 2 +CODE 800-1EFF 2 +SFR0 0-1F 1 +SFR1 80-9F 1 +SFR2 100-10F 1 +SFR3 180-18F 1 +EEDATA 2100-21FF 2 +STRCODE 13-476 2 +STRCODE 800-1EFF 2 +STRING 13-476 2 +STRING 800-1EFF 2 +# %LINETAB Section +# This section enumerates the file/line to address mappings. +# The beginning of the section is indicated by %LINETAB. +# The first line indicates the name of the first object file, e.g. +# $foo.obj +# Each line that follows describes a single mapping until the next +# object file. Mappings have the following format: +#
>: +# The address is absolute and given given in unqualified hex +# in delta units of the psect. All mappings within an object file +# are in ascending order of addresses. +# All other numeric values are in decimal. +%LINETAB +$dist/default/debug\W4_-_Pot___Rotary_-_kopie.debug.o +7E4 cinit CODE >976:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7E4 cinit CODE >979:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7E4 cinit CODE >1047:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7E5 cinit CODE >1048:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7E6 cinit CODE >1049:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7E7 cinit CODE >1050:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7E8 cinit CODE >1051:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7E9 cinit CODE >1052:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7EA cinit CODE >1053:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7EB cinit CODE >1054:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7EC cinit CODE >1055:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7ED cinit CODE >1056:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7F2 cinit CODE >1060:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7F3 cinit CODE >1061:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7F4 cinit CODE >1062:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7F5 cinit CODE >1063:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7F6 cinit CODE >1064:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7F7 cinit CODE >1065:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7F8 cinit CODE >1066:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7F9 cinit CODE >1067:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7FA cinit CODE >1068:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7FB cinit CODE >1071:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7FC cinit CODE >1077:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7FC cinit CODE >1079:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +7FD cinit CODE >1080:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4 intentry CODE >84:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +5BF text12 CODE >7:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +5C0 text12 CODE >13:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +5C5 text12 CODE >16:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +5CA text12 CODE >19:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +5D1 text12 CODE >20:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +5DB text12 CODE >21:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +5E7 text12 CODE >25:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +5EB text12 CODE >25:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +5F4 text12 CODE >26:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +5F8 text12 CODE >26:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +600 text12 CODE >30:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +602 text12 CODE >31:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +604 text12 CODE >32:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/rotary_encoder.c +523 text11 CODE >84:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +523 text11 CODE >85:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +527 text11 CODE >87:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +539 text11 CODE >88:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +53D text11 CODE >88:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +540 text11 CODE >88:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +547 text11 CODE >91:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +548 text11 CODE >92:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +549 text11 CODE >94:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +4F4 text10 CODE >78:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +4F4 text10 CODE >79:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +4F7 text10 CODE >79:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +4F9 text10 CODE >79:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +4FB text10 CODE >80:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +4FC text10 CODE >80:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +4FE text10 CODE >80:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +500 text10 CODE >81:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +509 text10 CODE >83:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +50C text10 CODE >83:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +50E text10 CODE >83:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +510 text10 CODE >84:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +515 text10 CODE >84:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +517 text10 CODE >84:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +519 text10 CODE >85:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +51E text10 CODE >85:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +520 text10 CODE >85:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +522 text10 CODE >94:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +494 text9 CODE >63:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +494 text9 CODE >68:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +497 text9 CODE >69:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +49B text9 CODE >71:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +49E text9 CODE >72:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +49F text9 CODE >75:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +4A0 text9 CODE >78:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +4A3 text9 CODE >79:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +4A4 text9 CODE >80:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +4A5 text9 CODE >81:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +587 text8 CODE >44:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +587 text8 CODE >46:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +58A text8 CODE >46:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +58C text8 CODE >46:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +58E text8 CODE >48:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +58F text8 CODE >48:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +591 text8 CODE >48:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +593 text8 CODE >51:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +594 text8 CODE >51:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +596 text8 CODE >51:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +598 text8 CODE >53:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +599 text8 CODE >53:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +59B text8 CODE >53:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +59D text8 CODE >56:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +59E text8 CODE >56:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5A0 text8 CODE >56:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5A2 text8 CODE >59:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5A5 text8 CODE >60:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5A6 text8 CODE >63:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5AB text8 CODE >63:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5AD text8 CODE >63:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5AF text8 CODE >66:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5B3 text8 CODE >67:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5B4 text8 CODE >68:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5B4 text8 CODE >69:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5B8 text8 CODE >70:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5B9 text8 CODE >71:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5B9 text8 CODE >72:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5BD text8 CODE >73:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +5BE text8 CODE >75:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +554 text7 CODE >27:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +554 text7 CODE >29:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +559 text7 CODE >29:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +55B text7 CODE >29:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +55D text7 CODE >31:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +56D text7 CODE >33:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +572 text7 CODE >33:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +574 text7 CODE >33:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +576 text7 CODE >36:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +579 text7 CODE >36:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +57D text7 CODE >37:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +582 text7 CODE >39:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +586 text7 CODE >41:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/initialisation.c +6CA text6 CODE >49:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +6CA text6 CODE >50:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +6D2 text6 CODE >51:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +6E6 text6 CODE >53:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +6FB text6 CODE >55:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +706 text6 CODE >56:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +721 text6 CODE >57:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +73D text6 CODE >58:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +742 text6 CODE >59:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +661 text5 CODE >5:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +661 text5 CODE >13:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +664 text5 CODE >14:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +668 text5 CODE >15:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +66B text5 CODE >15:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +66D text5 CODE >16:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +66F text5 CODE >18:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +673 text5 CODE >19:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +676 text5 CODE >19:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +678 text5 CODE >20:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +67C text5 CODE >22:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +67E text5 CODE >23:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +684 text5 CODE >24:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +686 text5 CODE >25:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +687 text5 CODE >26:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +688 text5 CODE >26:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +68C text5 CODE >26:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +68E text5 CODE >27:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +692 text5 CODE >25:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +696 text5 CODE >30:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +697 text5 CODE >30:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +69B text5 CODE >30:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +69D text5 CODE >31:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +69F text5 CODE >31:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6A3 text5 CODE >31:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6A7 text5 CODE >32:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6AA text5 CODE >32:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6AD text5 CODE >33:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6AE text5 CODE >35:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6AF text5 CODE >35:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6B3 text5 CODE >35:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6B5 text5 CODE >36:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6BB text5 CODE >38:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6C0 text5 CODE >39:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6C3 text5 CODE >39:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6C5 text5 CODE >40:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +6C9 text5 CODE >41:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\awdiv.c +4CD text4 CODE >15:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4CD text4 CODE >43:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4D1 text4 CODE >45:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4D5 text4 CODE >46:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4D7 text4 CODE >46:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4DB text4 CODE >47:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4DC text4 CODE >47:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4E0 text4 CODE >47:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4E2 text4 CODE >48:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4E3 text4 CODE >48:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4E7 text4 CODE >48:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4E9 text4 CODE >49:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4EF text4 CODE >52:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +4F3 text4 CODE >53:C:\Program Files\Microchip\xc8\v2.45\pic\sources\c99\common\Umul16.c +605 text3 CODE >3:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +608 text3 CODE >4:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +60C text3 CODE >4:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +623 text3 CODE >5:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +626 text3 CODE >6:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +62C text3 CODE >6:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +64C text3 CODE >7:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +64E text3 CODE >7:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +658 text3 CODE >7:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +65C text3 CODE >7:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +660 text3 CODE >8:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +4B9 text2 CODE >10:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +4B9 text2 CODE >12:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +4B9 text2 CODE >16:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +4BC text2 CODE >17:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +4C0 text2 CODE >21:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +4C8 text2 CODE >23:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +4CC text2 CODE >24:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/potentiometer.c +743 text1 CODE >26:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +743 text1 CODE >28:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +74C text1 CODE >29:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +75C text1 CODE >33:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +767 text1 CODE >39:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +769 text1 CODE >40:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +77A text1 CODE >40:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +784 text1 CODE >40:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +788 text1 CODE >40:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +78C text1 CODE >41:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +792 text1 CODE >41:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +795 text1 CODE >41:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +79B text1 CODE >42:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +7AD text1 CODE >42:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +7B7 text1 CODE >42:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +7BB text1 CODE >42:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +7BF text1 CODE >43:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +7C5 text1 CODE >43:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +7C8 text1 CODE >43:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +7CD text1 CODE >45:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +7D1 text1 CODE >45:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +7DA text1 CODE >45:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +7DE text1 CODE >45:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +477 maintext CODE >18:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +477 maintext CODE >20:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +47C maintext CODE >23:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +481 maintext CODE >24:C:\Users\wesse\OneDrive - Hogeschool Inholland\inholland\TI2\S1 - Embedded Systems\W4 - Pot + Rotary - kopie\src/main.c +4A6 inittext CODE >1021:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4A6 inittext CODE >1022:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4A7 inittext CODE >1023:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4A8 inittext CODE >1024:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4A9 inittext CODE >1025:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4AA inittext CODE >1032:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4AA inittext CODE >1033:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4AF inittext CODE >1034:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4B0 inittext CODE >1035:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4B1 inittext CODE >1036:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4B2 inittext CODE >1037:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4B3 inittext CODE >1038:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4B4 inittext CODE >1039:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4B5 inittext CODE >1040:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4B6 inittext CODE >1041:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4B7 inittext CODE >1042:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +4B8 inittext CODE >1043:C:\Users\wesse\AppData\Local\Temp\xcAseak.\driver_tmp_1.s +# %SYMTAB Section +# An enumeration of all symbols in the program. +# The beginning of the section is indicated by %SYMTAB. +# Each line describes a single symbol as follows: +#