Exemple #1
0
// Refresh after other values have been updated
void refresh_bed_level() {
  bilinear_grid_factor[X_AXIS] = RECIPROCAL(bilinear_grid_spacing[X_AXIS]);
  bilinear_grid_factor[Y_AXIS] = RECIPROCAL(bilinear_grid_spacing[Y_AXIS]);
  #if ENABLED(ABL_BILINEAR_SUBDIVISION)
    bed_level_virt_interpolate();
  #endif
}
Exemple #2
0
 void bed_level_virt_interpolate() {
   bilinear_grid_spacing_virt[X_AXIS] = bilinear_grid_spacing[X_AXIS] / (BILINEAR_SUBDIVISIONS);
   bilinear_grid_spacing_virt[Y_AXIS] = bilinear_grid_spacing[Y_AXIS] / (BILINEAR_SUBDIVISIONS);
   bilinear_grid_factor_virt[X_AXIS] = RECIPROCAL(bilinear_grid_spacing_virt[X_AXIS]);
   bilinear_grid_factor_virt[Y_AXIS] = RECIPROCAL(bilinear_grid_spacing_virt[Y_AXIS]);
   for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++)
     for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++)
       for (uint8_t ty = 0; ty < BILINEAR_SUBDIVISIONS; ty++)
         for (uint8_t tx = 0; tx < BILINEAR_SUBDIVISIONS; tx++) {
           if ((ty && y == GRID_MAX_POINTS_Y - 1) || (tx && x == GRID_MAX_POINTS_X - 1))
             continue;
           z_values_virt[x * (BILINEAR_SUBDIVISIONS) + tx][y * (BILINEAR_SUBDIVISIONS) + ty] =
             bed_level_virt_2cmr(
               x + 1,
               y + 1,
               (float)tx / (BILINEAR_SUBDIVISIONS),
               (float)ty / (BILINEAR_SUBDIVISIONS)
             );
         }
 }
// global vars ============================
// prototypes ============================
// functions ============================
int main(int argc, char* argv[])
{
    /* vars         */
    float     counter;    /* loop     */

    for (counter = 1.0; counter < 10.0; counter += 1.0) {
        printf("1/%f=%f\n", counter, RECIPROCAL(counter));
    }//for (counter = 1.0; counter < 10.0; counter++)
    
    return (0);
}//int main(int argc, char* argv[])
Exemple #4
0
int
main (int argc, char *argv[])
{
  float counter;

  for (counter = 1.0; counter < 10.0;
       counter += 1.0) {
    printf ("1/%f = %f\n",
            counter, RECIPROCAL (counter));
  }

  return 0;
}
Exemple #5
0
      void Bed_level::set_z_fade_height(const float zfh) {

        const bool level_active = leveling_is_active();

        z_fade_height = zfh;
        inverse_z_fade_height = RECIPROCAL(zfh);

        if (level_active) {
          mechanics.set_current_from_steppers_for_axis(
            #if ABL_PLANAR
              ALL_AXES
            #else
              Z_AXIS
            #endif
          );
        }
      }