Commit Graph

6076 Commits

Author SHA1 Message Date
rusefi 36ec3fd38e docs 2019-12-13 18:05:08 -05:00
rusefi 9403b2a8fc fixing build is my most favourite time! 2019-12-13 18:02:24 -05:00
rusefi 1eeb92b23b Fried coil (?) on incompatible firmware change fix #1051 2019-12-13 17:23:48 -05:00
Matthew Kennedy 003c1c17f0 Make stacks smaller (#1055)
* remove factually incorrect comment

* shrinky stacky

* shuffle comments
2019-12-13 16:47:26 -05:00
rusefi fcf88778e5 Merge branch 'master' of https://github.com/rusefi/rusefi 2019-12-13 14:03:52 -05:00
rusefi 236d952335 progress towards ETB controller mocking 2019-12-13 13:52:34 -05:00
rusefi e9e7a66cf8 etbActualCount logic to handle the scenario where only one ETB is present 2019-12-13 12:50:34 -05:00
Matthew Kennedy 199cf72f4a use correct divider (#1056) 2019-12-12 08:45:10 -05:00
rusefi 1c2d1495ec only using unified name, not changing any values
reduce the pin output speed on the MCU as these are the major source of ripple on VDD. #397
2019-12-11 19:55:28 -05:00
rusefi 0cf8233974 some random pin rename & a bit of "reduce the pin output speed on the MCU as these are the major source of ripple on VDD. #397" 2019-12-11 19:53:08 -05:00
rusefi 4ae65923fb board.h default state for F4 pins #1053
no default changes here - only using our custom names to highligth default choice
2019-12-11 19:25:46 -05:00
rusefi af4f20551b getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
Matthew Kennedy 37473bd26e Move slow ADC to thread #630 (#1042)
* adc with thread

* enable

* check result

* stacktual embiggenment

* tracing

* let's be type safe

* improve assert

* format, comment

* remove EFI_INTERNAL_SLOW_ADC_PWM fully
2019-12-11 09:28:11 -05:00
rusEfi a44a0cad99 Merge branch 'master' of https://github.com/rusefi/rusefi 2019-12-10 23:18:44 -05:00
rusEfi 35c518dcc9 just in case 2019-12-10 22:18:37 -05:00
rusefi 97b1c1ff33 straightening enum reuse 2019-12-10 21:18:35 -05:00
Matthew Kennedy 0e674f7eca ETB Encapsulation & C++ Conventions (#1049)
* encapsulate etb stuff, c++ conventions

* remove DECLARE_ENGINE_PTR/INJECT_ENGINE_REFERENCE

* reduce include dependencies

* Revert "reduce include dependencies"

This reverts commit c529bbbf757cd9070f6e00616f84b1229eeb768e.

* Revert "remove DECLARE_ENGINE_PTR/INJECT_ENGINE_REFERENCE"

This reverts commit ca98b18cd4dae24b993d1263a18daf509dcd54b9.
2019-12-10 19:37:04 -05:00
Matthew Kennedy 00840d99ec copyArray helper (#1048)
* add functions

* uses

* use for proteus

* do it for warmup mult

* do it for cranking settings

* cleanup
2019-12-10 18:04:50 -05:00
rusEfi 1cc71ef8ec dual-ETB progress 2019-12-10 00:07:46 -05:00
rusefi 62481d7fe8 The Big Refactoring of 2019: folder structure #723 2019-12-08 13:21:35 -05:00
rusefi cf8c6e7eca The Big Refactoring of 2019: folder structure #723 2019-12-08 13:09:51 -05:00
rusefi c5cfd21a70 just a trivial massive rename: TriggerState > TriggerWaveform 2019-12-08 01:09:39 -05:00
rusefi 0555d2170d TPS#2 calibration & fixing ETB in TS 2019-12-08 00:37:33 -05:00
rusefi a84e8c6fc0 Making UART/TTL pins configurable 2019-12-07 23:20:17 -05:00
rusefi cc87ccd58a docs 2019-12-07 23:19:40 -05:00
rusefi 23c0d8646f Making UART/TTL pins configurable 2019-12-07 21:22:09 -05:00
andreika-git 3c8b28db0b Add GUI for binarySerialRxPin/binarySerialTxPin (#1047) 2019-12-07 21:19:21 -05:00
rusefi 0664c1f566 docs 2019-12-07 14:09:06 -05:00
rusefi d6471a84bc Refactor Trigger System #635
injecting callback via parameters instead of nasty "bool isInitializingTrigger" field
2019-12-06 01:57:11 -05:00
rusefi 717abd6b67 Refactor Trigger System #635
injecting callback via parameters via magic and potentially broken field manipulation
2019-12-06 01:05:19 -05:00
rusefi 28a12d9d04 typo 2019-12-06 00:07:27 -05:00
rusefi 6c76c5fcd6 PAL repair 2019-12-05 21:10:29 -05:00
rusefi 2b49fc31ea steps towards fixing PAL inputs 2019-12-05 21:04:24 -05:00
rusefi 81d44065a6 would unification help? 2019-12-04 20:13:45 -05:00
andreika-git deaef6c5bc github CI fix (Kinetis/release) (#1045)
* fix?

* more fix

* Proteus fix

* fix Kinetis gen_config

* update Kinetis config

* quotes fix?

* quotes fix??

* Okay, no quotes, just move -DFIRMWARE_ID inside .mk

* Exclude Kinetis/debug build
2019-12-04 15:16:26 -05:00
rusefi dea4bb6511 more of the same 2019-12-04 08:12:52 -05:00
rusefi 6481662092 reducing code duplication & including kinetis 2019-12-04 07:50:46 -05:00
rusefi c0450ebd9b following the pattern 2019-12-04 07:33:56 -05:00
rusefi 5055797f6b The Big Refactoring of 2019: folder structure #723 2019-12-04 01:15:52 -05:00
rusefi 813b6aa6ce The Big Refactoring of 2019: folder structure #723 2019-12-04 01:11:10 -05:00
rusefi d81c783391 The Big Refactoring of 2019: folder structure #723 2019-12-04 00:57:54 -05:00
rusefi 0428ff4347 gen_config run 2019-12-04 00:38:40 -05:00
rusefi 302b336186 Merge branch 'master' of https://github.com/rusefi/rusefi 2019-12-04 00:37:53 -05:00
andreika-git 2a39c69f51 iacPidMultTbl + EFI_IDLE_PID_CIC + kinetis_hysteresis (#1043)
* rename EFI_IDLE_INCREMENTAL_PID_CIC -> EFI_IDLE_PID_CIC

* Impl. IacPidMultTable

* Kinetis: Trigger Comparator Hysteresis settings (+adaptive mode)
2019-12-04 00:37:32 -05:00
rusefi f6a50b7375 The Big Refactoring of 2019: folder structure #723 2019-12-04 00:35:05 -05:00
rusefi 0dd517bcc7 The Big Refactoring of 2019: folder structure #723 2019-12-04 00:22:34 -05:00
rusefi db4ea08568 The Big Refactoring of 2019: folder structure #723 2019-12-04 00:04:27 -05:00
rusefi bd841b6ca2 docs 2019-12-03 23:55:18 -05:00
rusefi de36f76882 The Big Refactoring of 2019: folder structure #723 2019-12-03 23:52:44 -05:00
rusefi 500315b042 refactoring - updating name according to new reality 2019-12-03 14:39:11 -05:00
rusefi c4027a29f0 codes fix, thank you AndreiKA 2019-12-03 09:05:57 -05:00
rusefi eb305f0265 #490 2019-12-03 00:29:12 -05:00
rusefi bec88bf8c8 EngineTestHelper progress 2019-12-03 00:20:47 -05:00
Matthew Kennedy 9fdf74bc18 Base configuration for Proteus (#1040)
* cfg

* add enum value

* add ci

* actually build the board config

* this is pretty close

* proteus case
2019-12-02 23:54:40 -05:00
Matthew Kennedy 3008e19110 missing override (#1039) 2019-12-02 23:52:35 -05:00
rusefi 1c96d9541e refactoring 2019-12-02 23:08:18 -05:00
rusefi d007a7f902 making new scheduling API avalable 2019-12-02 22:28:32 -05:00
rusefi 82fab0282c lovely write-out-of-bounds in case of invalid configuration bugfix 2019-12-02 20:32:21 -05:00
rusefi 6555e4b305 "sensor chart" for aux fast analog input 2019-12-02 20:31:49 -05:00
rusefi b7f689d811 actually it's better to give TS access to all bits 2019-12-02 20:26:43 -05:00
rusefi 51088287ff actually it's better to give TS access to all bits 2019-12-02 20:24:10 -05:00
rusefi 12a828b391 codes clean-up 2019-12-02 20:16:41 -05:00
Matthew Kennedy 2bedb3ad8c Perf trace housekeeping (#1038)
* use default params

* fix that mess

* format
2019-12-02 19:18:00 -05:00
Matthew Kennedy 3f0385f70d Remove chibios trace flag (#1037)
* remove from scripts

* remove from others
2019-12-02 19:11:07 -05:00
rusefi 2eab39d3ff auxFastSensor 2019-12-02 17:49:01 -05:00
rusefi 48db08aaae shared GCC settings between projects 2019-12-02 10:26:16 -05:00
rusefi 0583fd0b6c misc clean-up 2019-12-02 10:03:50 -05:00
rusefi 87143bef9f fixing build 2019-12-02 09:59:53 -05:00
rusefi 0b4f624b2a cj125 unit test progress! 2019-12-02 01:52:54 -05:00
rusefi 8760ef2874 v12 2019-12-01 23:45:45 -05:00
rusefi 2d86668a70 v12 2019-12-01 22:37:26 -05:00
rusefi c39eb0c08d perf trace progress but things still do not look right 2019-12-01 20:31:18 -05:00
andreika-git 3b352f6a3a 5V-compatible adcVcc + trigger_input_comp + Kinetis COMP driver impr. (#1036)
* adcVcc is not only for 3V STM32

* update ini files

* Kinetis: improve COMP driver

* Improve trigger_input_comp.cpp (hysteresis)
2019-12-01 12:08:55 -05:00
rusefi 1d817e9768 dual throttle re-init bugfix thank you andreika! 2019-12-01 09:39:34 -05:00
rusefi da42d0dd3d v12 2019-11-30 20:24:31 -05:00
rusefi beda8f4b31 making things nicer with dual ETB settings 2019-11-30 18:42:51 -05:00
rusefi 3ed889486e making things nicer with dual ETB settings 2019-11-30 17:38:33 -05:00
rusefi b961edc654 refactoring 2019-11-30 16:49:40 -05:00
rusefi b04166d173 that's how we can move all fields one by one from boardConfiguration to engineConfiguration
my approach is to move fields from the bottom of BC struct
2019-11-30 10:24:37 -05:00
Matthew Kennedy e5c2273d13 Harmonize chconf (#1034)
* turn off f4 kernel features we don't use

* make f7 match f4

* make mcuconf look right
2019-11-30 09:32:14 -05:00
rusefi f80fe51092 all ETBs to run in same HW mode 2019-11-30 01:00:54 -05:00
rusefi 5fa7e082c8 all ETBs to run in same HW mode
taking a step back and going to bed :(
2019-11-30 00:39:00 -05:00
rusefi 2952cd923e all ETBs to run in same HW mode 2019-11-30 00:25:33 -05:00
rusefi a78dc22bf1 better state validation, better error codes 2019-11-29 23:41:26 -05:00
rusefi fd4412a2cd refactoring 2019-11-29 22:09:08 -05:00
rusefi ff3fbffd80 extracing constant & more information for HW CI 2019-11-29 21:57:59 -05:00
rusefi 73e3edc3d8 dual ETB seems to work! 2019-11-29 20:15:29 -05:00
rusEfi e2074388ff dual ETB seems to work! 2019-11-29 19:06:50 -05:00
rusefi 76ca1aacb7 all ETBs to run in same HW mode 2019-11-29 19:02:12 -05:00
rusEfi 799027c2e9 all ETBs to run in same HW mode 2019-11-29 16:51:51 -05:00
rusefi 7aa5d3321e v12 2019-11-29 14:51:20 -05:00
rusefi 858eda91f5 attempting to fix master build 2019-11-29 13:02:11 -05:00
Matthew Kennedy 5d43ddf0b0 Build prometheus with makefiles instead of batch scripts (#1020)
* use makefiles instead of batch

* add to ci

* put batch files back, but minimum logic

* default to release

* debug level opt too
2019-11-29 02:39:30 -05:00
rusefi 1ab40aec35 one step backwards :) 2019-11-29 01:39:02 -05:00
rusEfi fb53d2e921 v12 2019-11-29 01:35:45 -05:00
rusefi 316d7ab63b steps towards dual ETB 2019-11-29 00:26:17 -05:00
rusefi 784610c5c3 steps towards dual ETB 2019-11-29 00:23:15 -05:00
rusefi 175a18b9ec steps towards dual ETB 2019-11-28 23:51:47 -05:00
rusefi eb6792a13a Merge branch 'master' of https://github.com/rusefi/rusefi 2019-11-28 15:24:41 -05:00
rusefi 07f71c8dfa steps towards dual ETB 2019-11-28 15:24:30 -05:00
rusEfi 19e828acda v12 2019-11-28 00:40:25 -05:00
rusefi 067aa0aeee steps towards dual ETB 2019-11-27 22:07:36 -05:00
rusefi 0006d93b8a Starter Relay 2019-11-25 23:05:13 -05:00
rusefi 0c3ab53fb6 fixing master? 2019-11-25 21:15:07 -05:00
andreika-git 1808642af1 Starter relay + Hardcoded 'FSIO' + simulator fix (#1032)
* Starter Relay: gui + built-in FSIO impl.

* Hardcoded 'FSIO' replacement for RAM-limited boards

* fix simulator
2019-11-25 20:08:01 -05:00
rusefi 8a8a398c70 starterRelayPinMode 2019-11-25 01:01:00 -05:00
rusefi 9df259fbfb starterRelay & debugMapAveraging 2019-11-25 00:59:05 -05:00
rusefi 8dc2dfe6e8 Merge branch 'master' of https://github.com/rusefi/rusefi 2019-11-25 00:57:47 -05:00
rusefi 603f7e9ecb PerfTraceTool 2019-11-25 00:57:36 -05:00
andreika-git 97884dc677 Kinetis: fix ENABLE_PERF_TRACE and trigger_input_comp (#1031)
* Kinetis: fix ENABLE_PERF_TRACE

* Kinetis: fix trigger_input_comp
2019-11-25 00:22:26 -05:00
andreika-git 9a0b66791b unregisterOutput() + isPinOrModeChanged() + Stepper::stepPin+enablePin + Kinetis fix (#1029)
* Fix isConfigurationChanged() for EFI_ACTIVE_CONFIGURATION_IN_FLASH

* unregisterOutput() -> unregisterOutputIfPinOrModeChanged()

* clutchUpPinMode for unregisterPin()

* Fix Kinetis: EFI_ACTIVE_CONFIGURATION_IN_FLASH & EFI_MAIN_RELAY_CONTROL

* Stepper: enablePin & stepPin with modes support
2019-11-25 00:02:53 -05:00
rusefi 4411efbb72 firing order tool integration 2019-11-24 23:49:05 -05:00
rusefi 366805a1ab MapAveragingCallback schedules all cylinders at once #974 2019-11-24 23:20:24 -05:00
rusefi e7559db170 Sporadic error: FATAL error: handleCycleStart #1030
more details
2019-11-24 21:59:29 -05:00
rusefi cfcfc851f5 Sporadic error: FATAL error: handleCycleStart #1030
more details
2019-11-24 21:45:32 -05:00
rusefi 04f6913d56 MapAveragingCallback schedules all cylinders at once #974
saving pennies
2019-11-24 20:48:25 -05:00
rusefi 730df561df pausing aux work for now 2019-11-24 12:45:38 -05:00
rusefi 6f50cae286 improving API? 2019-11-24 00:15:44 -05:00
rusefi 1cb2f92142 more correct variable names 2019-11-23 23:49:39 -05:00
rusefi 8b34fbee38 docs 2019-11-23 23:42:00 -05:00
rusefi 7ee657d238 aux valves unit test 2019-11-23 22:55:21 -05:00
Matthew Kennedy 2460a309ae Make sure #798 is good and dead (#1028)
* Revert "CI instability: FATAL error: warn stream not initialized for 6039 - maybe buffer overrun? #798"

This reverts commit ee674dc979.

* Revert "CI instability: FATAL error: warn stream not initialized for 6039 #798"

This reverts commit 3bf29b6963.

* fix correctly

* use correct function
2019-11-23 21:25:29 -05:00
rusefi af60a46229 making progres on angle-based scheduling 2019-11-23 20:36:40 -05:00
rusefi 1bb3f2698c making progres on angle-based scheduling 2019-11-23 19:47:53 -05:00
rusefi 7b7b46a2a2 refactoring 2019-11-23 18:38:16 -05:00
rusefi 4305b4ce2f not needed since included in common_headers.h 2019-11-23 18:16:41 -05:00
rusefi f0c4817e1b 'triggerEventAngle' not really needed 2019-11-23 17:44:44 -05:00
rusefi 3bf29b6963 CI instability: FATAL error: warn stream not initialized for 6039 #798 2019-11-23 17:07:13 -05:00
rusefi aa4967383a explicit list field to simplify code navigation 2019-11-23 17:04:51 -05:00
rusefi ee674dc979 CI instability: FATAL error: warn stream not initialized for 6039 - maybe buffer overrun? #798 2019-11-23 16:41:59 -05:00
rusefi 56ff75004b consistency 2019-11-23 15:53:22 -05:00
rusefi e706c999f1 docs 2019-11-23 14:14:17 -05:00
rusefi 91a5bd5ce3 refactoring: extracting constant 2019-11-23 12:52:57 -05:00
rusefi 8edf6c8d38 bug: aux valve actions can overlap 2019-11-23 10:34:43 -05:00
Matthew Kennedy 9ee8616cb0 Use templated array references (#1027)
* update defs

* consumers, use default params

* setArrayValues in tests

* floats

* test fixing
2019-11-22 23:27:24 -05:00
rusEfi 547d9749df v12 and minor ETB 2019-11-22 23:27:03 -05:00
Matthew Kennedy 579219e8cc inject interfaces to ETB, renaming (#1026)
* inject interfaces, renaming

* format

* null check

* that was a dumb typo

* fix indent
2019-11-22 20:53:54 -05:00
rusefi c606bb27ac aux overlap debugging 2019-11-22 18:50:46 -05:00
Matthew Kennedy bb22296f61 DC motor improvements (#1025)
* extract interface, comments, conform names

* fwd declare
2019-11-22 16:30:44 -05:00
Matthew Kennedy 3514eb313e const + fwd declare pid things (#1024) 2019-11-22 15:55:38 -05:00
Matthew Kennedy 1ad5b55dbb s (#1023) 2019-11-21 23:45:16 -05:00
rusefi 9597215ad9 recoviring CI 2019-11-21 17:12:46 -05:00
Matthew Kennedy 928805dcc1 works on f4 (#1021) 2019-11-21 15:45:17 -05:00
rusefi 4b4678074b Perf trace maybe fix - "We were trying to trace before the os was awake" 2019-11-21 15:31:55 -05:00
rusefi 4faca85fdd following the pattern 2019-11-21 13:35:57 -05:00
rusEfi f9ccaf5f01 steps towards dual ETB 2019-11-21 00:49:38 -05:00
rusEfi c6be861de2 v12 2019-11-21 00:19:35 -05:00
rusefi a5db4819ae making more code testable 2019-11-20 08:46:54 -05:00
rusefi a7b7fd1005 making more code testable 2019-11-20 02:18:17 -05:00
rusefi b8ce0daf85 more code into unit tests 2019-11-20 01:42:03 -05:00
rusefi ad7e36c228 refactoring 2019-11-20 01:35:08 -05:00
rusEfi 46240980f4 this is probably needed for F7 2019-11-20 01:15:43 -05:00
rusEfi 23620d1eb2 Merge branch 'master' of https://github.com/rusefi/rusefi 2019-11-20 01:15:21 -05:00
rusefi efeae62769 Really need to Fix and expand commit gate check 2019-11-19 23:28:34 -05:00
rusefi 9249a1fd95 would this fix CI? 2019-11-19 22:54:36 -05:00
rusEfi b32bcc4a87 v12 progress 2019-11-19 21:56:25 -05:00
rusefi 9632555d47 NOT A GREAT FIX - TODO @andreika any chance you can help here? 2019-11-19 20:56:35 -05:00
rusefi 78e32c0c0a clean-up 2019-11-19 20:56:11 -05:00
rusefi 71fd295d9c making GCC 9 happier 2019-11-19 20:43:12 -05:00
rusefi d3da33517f making F4 and else happier with perf_trace, also maybe missing 'break'? 2019-11-19 20:36:47 -05:00
rusefi 3af49796a5 Merge remote-tracking branch 'remotes/mck1117/perf-tracing'
# Conflicts:
#	firmware/development/development.mk
2019-11-19 20:26:56 -05:00
rusEfi 1991437f77 development into unit tests, makefile cleanup 2019-11-19 20:05:12 -05:00
Matthew Kennedy 93d24dfc0b Merge remote-tracking branch 'origin/master' into perf-tracing 2019-11-19 16:28:58 -08:00
rusefi 7dfdfc6378 docs & code formatting 2019-11-19 18:17:03 -05:00
rusefi 1d328c17e8 simulation docs 2019-11-19 09:23:25 -05:00
rusEfi f249a12163 v12 2019-11-19 00:04:44 -05:00
rusefi 67b434e43a v12 2019-11-18 23:45:35 -05:00
rusEfi 36dba6274a ETB docs 2019-11-18 22:25:07 -05:00
rusEfi a55e0e1460 launch control #203 2019-11-18 19:22:29 -05:00
rusefi dc91d70a71 poke 2019-11-18 15:37:58 -05:00
rusefi fc41aaf655 v12 2019-11-17 22:32:27 -05:00
rusefi ebe6a4b981 v12 done right 2019-11-17 09:32:12 -05:00
rusefi 1f1f7e86ae typo 2019-11-17 09:18:43 -05:00
rusefi fb7cba96b6 code formatting 2019-11-17 09:03:20 -05:00
rusefi 6b3b090eea refactoring: reducing complexity? 2019-11-17 09:02:49 -05:00
rusefi 08e3dd835d reducing warnings 2019-11-17 08:44:07 -05:00
andreika-git 9f33df9574 cisnan() warnings fix (#1008)
* Fix cisnan() macro warnings (strict-aliasing)

* Hey, we found a bug thanks to our fix! Let's fix it too!
2019-11-17 08:08:56 -05:00
rusefi 6456374eb8 v12 2019-11-16 16:00:50 -05:00
rusefi 41d638e4ef catch-up for kinetis 2019-11-16 15:05:33 -05:00
rusefi 1a9b68bca6 kinetis into gen_config.bat 2019-11-16 14:44:47 -05:00
rusefi efe4d63084 v12 2019-11-15 23:49:28 -05:00
rusEfi c3b793fc55 prometheus cleanup 2019-11-15 00:01:03 -05:00
rusEfi 81167d9945 #pragma once 2019-11-15 00:00:13 -05:00
rusEfi ae877d3040 M73 2019-11-14 23:59:35 -05:00
rusEfi 3530c68a18 M73 2019-11-14 23:58:04 -05:00
rusEfi 54ba4e5407 #pragma once 2019-11-14 22:50:59 -05:00
rusefi b8007d8cd5 poke 2019-11-14 10:23:11 -05:00
rusefi b533ff68e8 Revert "OK trying partial revert now"
This reverts commit 4a8b8336
2019-11-13 22:56:43 -05:00
rusefi 071b1acb8e refactoring: time to unify digital pin API 2019-11-13 22:50:37 -05:00
rusefi 11838a7558 docs 2019-11-13 22:47:49 -05:00
rusefi 3dbecfc2f0 todo 2019-11-13 22:02:13 -05:00
rusefi 9fd45aea19 micro-optimization: replacing by-referece access with direct static access for real firmware 2019-11-13 21:43:24 -05:00
rusefi d318b46d33 unused code 2019-11-13 20:15:02 -05:00
Matthew Kennedy 7e1cf570b2 fix (#1006) 2019-11-13 18:35:21 -05:00
Matthew Kennedy 8969efaffe fix (#1005) 2019-11-13 08:42:16 -05:00
rusefi e33798c214 looks like this part of refactoring is good? 2019-11-12 23:38:02 -05:00
rusefi c9b994ba0d Revert "restoring #1003"
This reverts commit 08940cc6
2019-11-12 23:18:48 -05:00
rusefi c23cb5693a re-applying change 2019-11-12 22:56:56 -05:00
rusefi 08940cc6c0 restoring #1003 2019-11-12 22:17:29 -05:00
rusefi 4b1c1e72ab time to panic and revert more 2019-11-12 21:42:44 -05:00