{"push_id":1369899504,"size":55,"distinct_size":6,"ref":"refs/heads/issue74","head":"128bd90205d6e83e5b808b1039f9a653bd57de5f","before":"7b869734fd49f08d338355f6e32eb099cda05602","commits":[{"sha":"5baa188826fb7a6697514f87266ab4c46b56eb22","author":{"name":"Markus Hitter","email":"7158536f304806c273a355e9aa9cb995fecfe348@jump-ing.de"},"message":"Attic: add explaining README.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/5baa188826fb7a6697514f87266ab4c46b56eb22"},{"sha":"c79dc3206e88d95436fc12cb59c343bab13c1c58","author":{"name":"Markus Hitter","email":"7158536f304806c273a355e9aa9cb995fecfe348@jump-ing.de"},"message":"Move branch ProportionalBandPID to the attic.\n\nAs far as I (Traumflug) can see, this was an attempt to ease PID\ntuning by setting PID parameters according to a model easier\nunderstandable by humans.\n\nThis was moved to the attic because because automatic PID tuning\nis around the corner, so users (hopefully) no longer have to mess\nwith PID parameters at all before too long.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/c79dc3206e88d95436fc12cb59c343bab13c1c58"},{"sha":"4c4f2603f58380742b28fc79054eedda111f8063","author":{"name":"Markus Hitter","email":"7158536f304806c273a355e9aa9cb995fecfe348@jump-ing.de"},"message":"Attic: tar up 'original-pff' for less clutter on grep'ing.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/4c4f2603f58380742b28fc79054eedda111f8063"},{"sha":"a4fcd0e32fe774217c8381e0cdb862ddfc001bcc","author":{"name":"Markus Hitter","email":"7158536f304806c273a355e9aa9cb995fecfe348@jump-ing.de"},"message":"Attic: tar up 'input-float'.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/a4fcd0e32fe774217c8381e0cdb862ddfc001bcc"},{"sha":"f291e33acdece0129bceffc7bc0c38603325b1dd","author":{"name":"Markus Hitter","email":"7158536f304806c273a355e9aa9cb995fecfe348@jump-ing.de"},"message":"Attic: tar up 'eeconfig'.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/f291e33acdece0129bceffc7bc0c38603325b1dd"},{"sha":"62b5bb01dc728b7b6915d4380dd912d27e2c5a79","author":{"name":"Markus Hitter","email":"7158536f304806c273a355e9aa9cb995fecfe348@jump-ing.de"},"message":"Attic: tar up 'accel_clock'.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/62b5bb01dc728b7b6915d4380dd912d27e2c5a79"},{"sha":"c3f0d05581654d823b54a180caba1e26c9e438e3","author":{"name":"Markus Hitter","email":"7158536f304806c273a355e9aa9cb995fecfe348@jump-ing.de"},"message":"Attic: gzip single file storage.\n\nAlso to reduce clutter on recursive greps.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/c3f0d05581654d823b54a180caba1e26c9e438e3"},{"sha":"803ff6e8b3827809e0f04067e8e27c309b9fbf85","author":{"name":"Phil Hord","email":"1ef7e3a0880ec69c5575df996d108219661cf533@technicolor.com"},"message":"fix ACCELERATION_REPRAP build (moved/extra vars)\n\nREPRAP style acceleration broke quite a while ago, but no one noticed.\nMaybe it's not being used, and therefore also not tested. But it should\nat least compile while it remains an option.\n\nThe compiler complains that dda->n is not defined and that current_id is\nnever used.  The first bug goes back to f0b9daeea06c in late 2013.\n\nIn the interest of supporting exploratory accelerations, fix this to\nbuild when ACCELERATION_REPRAP is chosen.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/803ff6e8b3827809e0f04067e8e27c309b9fbf85"},{"sha":"8e977d50ce1d4ff46f32c5097655961064d12522","author":{"name":"Robert Konklewski","email":"da5f46754f30b7c2c3192107d905f4a97894b790@gmail.com"},"message":"Temp: have heater update on 250ms intervals.\n\nThermal managers (PID, bang-bang, etc.) assume they're being\nticked on 250ms intervals. In reality, they were being updated on\neach temperature reading, which was between 10ms and 250ms. This\ncaused thermal management to malfunction.\n\nhttps://github.com/Traumflug/Teacup_Firmware/issues/211","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/8e977d50ce1d4ff46f32c5097655961064d12522"},{"sha":"03c8d71a56a58e0ab8b95f9a55809c1bb7030f95","author":{"name":"Robert Konklewski","email":"da5f46754f30b7c2c3192107d905f4a97894b790@gmail.com"},"message":"Temp: have residency updates on 1s clock.\n\nTemperature residency time / temperature achieved check is in\nthe order of seconds, while updates for residency time were being\ncalled every 10ms - unnecessarily often.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/03c8d71a56a58e0ab8b95f9a55809c1bb7030f95"},{"sha":"b5cbba7ed8e0823719c8b8ce86b6e866ac0c3871","author":{"name":"Robert Konklewski","email":"da5f46754f30b7c2c3192107d905f4a97894b790@gmail.com"},"message":"Temp: read ADC on-demand, instead of constantly running.\n\nOn AVRs analog conversions were running in essentially\nfree-running mode, i.e.  next conversion was being started\nimmediately after the previous one ended. This caused many\nunnecessary interrupts.\n\nNow, conversions are initiated manually by start_adc(). This\ncauses a single read on each of the registered channels. Once\nall channels are read, conversions stop until the next call of\nstart_adc().","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/b5cbba7ed8e0823719c8b8ce86b6e866ac0c3871"},{"sha":"1236a352c98a834c50161f5f20403f806eb789ab","author":{"name":"Robert Konklewski","email":"da5f46754f30b7c2c3192107d905f4a97894b790@gmail.com"},"message":"Temp: fix a one-off error in sensor read counter check condition.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/1236a352c98a834c50161f5f20403f806eb789ab"},{"sha":"678184b037476149fc9520ee22a7c6a477c45bea","author":{"name":"Robert Konklewski","email":"da5f46754f30b7c2c3192107d905f4a97894b790@gmail.com"},"message":"Temp: request ADC reads only when necessary.\n\nIssues ADC reads (via start_adc()) only when actually needed.\nWhen EWMA is enabled, then reads are performed at every\ntemp_sensor_tick() call, i.e. every 10ms. That's to ensure EWMA\ngets updated frequently enough.\n\nWhen EWMA is disabled, then the only other use for analog reads\nis heater control, i.e. heater_tick(). It's run on a 250ms clock,\nso that's how often analog reads need to be performed in that\ncase.\n\nAdditionally, ADC conversions are being started 10ms in advance,\nso that they can finish before their results are read.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/678184b037476149fc9520ee22a7c6a477c45bea"},{"sha":"1aa8698f6268f43778edc65575701966c6fe5484","author":{"name":"Robert Konklewski","email":"da5f46754f30b7c2c3192107d905f4a97894b790@gmail.com"},"message":"temp.c: improved condition checks for next_read_time timers.\n\nAs @phord observed, the conditions and the meaning of\nnext_read_time was not very intuitive. Changed that so that now\nit represents the number of 10ms clock ticks before next sensor\nreading, i.e. 1 is for 10ms, 2 for 20ms, etc.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/1aa8698f6268f43778edc65575701966c6fe5484"},{"sha":"86c3d973151faf88b7d0275bf7f55d2c9b17e5d5","author":{"name":"Robert Konklewski","email":"da5f46754f30b7c2c3192107d905f4a97894b790@gmail.com"},"message":"temp.c: integrate next_start_adc_time clock into next_read_time.\n\nExtra clock next_start_adc_time was unnecessary. As @phord\nobserved, it was more understandable to explicitly call start_adc()\n1 cycle ahead during temp_sensor_tick(), for sensors which use\nanalog_read().","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/86c3d973151faf88b7d0275bf7f55d2c9b17e5d5"},{"sha":"afb81f21be6279880f66f1bbcd68ac0d5973894a","author":{"name":"Phil Hord","email":"1ef7e3a0880ec69c5575df996d108219661cf533@technicolor.com"},"message":"temp.c: cleanup temp_sensor_tick() and next_read_time sanity.\n\nIntegrate the next_read_time countdown into the loop as is common.\n\nCheck for start_adc() in the same loop -- before decrementing the\ntimer -- and call it when needed on the tick before we need the\nresults.\n\nOne concern I have still is that start_adc() may be called twice\nwithin a few microseconds if two probes need to be read. I expect\nit should only be called once, but I am not readily familiar with\nthe AVR ADC conversion protocol.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/afb81f21be6279880f66f1bbcd68ac0d5973894a"},{"sha":"335437022cbc5c8742a56616571366126a26d746","author":{"name":"Phil Hord","email":"1ef7e3a0880ec69c5575df996d108219661cf533@technicolor.com"},"message":"temp.c: refactor temperature reads into functions.\n\nEvery type of temp sensor has its own special way to be read\nand the once-simple loop has grown complex.  Restore some sanity\nby isolating the code for each sensor into its own inline\nfunction.\n\nIn the process I noticed temp_flags is only ever set (never read)\nand is used only in MAX6675.  I don't understand what it was used\nfor, so for now, let's comment it out and revisit this later in\nthis series.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/335437022cbc5c8742a56616571366126a26d746"},{"sha":"9d53c13ebdfc3e58a9f164b9620e5939470afb93","author":{"name":"Phil Hord","email":"1ef7e3a0880ec69c5575df996d108219661cf533@technicolor.com"},"message":"temp.c: assemble cooperative state machine.\n\nHeater PID loops must be called every 250ms, and temperature\nprobes do not need to be called any more often than that. Some\nprobes require some asynchronous operations to complete before\nthey're ready.  Handle these in a state machine that first begins\nthe conversion and finally completes it on some future tick.\nSignal it is complete by setting the new state variable to IDLE.\n\nKick off the heater PID loop by simply beginning the temperature\nconversion on all the temperature probes.  When each completes,\nit will finish the process by calling its PID routine.\n\nRemove the \"next_read_time\" concept altogether and just run each\ntemp conversion at fixed 250ms intervals.","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/9d53c13ebdfc3e58a9f164b9620e5939470afb93"},{"sha":"6cf845ecdab269351cefaaef8f0e94676fee40f3","author":{"name":"Phil Hord","email":"1ef7e3a0880ec69c5575df996d108219661cf533@technicolor.com"},"message":"temp.c: remove write-only \"temp_flags\".","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/6cf845ecdab269351cefaaef8f0e94676fee40f3"},{"sha":"05565a0aec75d3e9b132b666f976c5fd88a3cb86","author":{"name":"Phil Hord","email":"1ef7e3a0880ec69c5575df996d108219661cf533@technicolor.com"},"message":"temp.c: use free-running readings in EMWA mode.\n\nIf we have EMWA mode turned on, then the user wants to average\nseveral samples from the temp sensors over time. But now we read\ntemp sensors only 4 times per second making this averaging take\nmuch longer.\n\nRead the temperatures continuously -- as fast as supported by the\nprobe type -- if we are using weight averaging (TEMP_EMWA < 1.0).","distinct":false,"url":"https://api.github.com/repos/Traumflug/Teacup_Firmware/commits/05565a0aec75d3e9b132b666f976c5fd88a3cb86"}]}
{"actor":{"display_login":"Traumflug"}}