net_dsec2tick.c 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /****************************************************************************
  2. * net/utils/net_dsec2tick.c
  3. *
  4. * Licensed to the Apache Software Foundation (ASF) under one or more
  5. * contributor license agreements. See the NOTICE file distributed with
  6. * this work for additional information regarding copyright ownership. The
  7. * ASF licenses this file to you under the Apache License, Version 2.0 (the
  8. * "License"); you may not use this file except in compliance with the
  9. * License. You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing, software
  14. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  15. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  16. * License for the specific language governing permissions and limitations
  17. * under the License.
  18. *
  19. ****************************************************************************/
  20. /****************************************************************************
  21. * Included Files
  22. ****************************************************************************/
  23. #include <nuttx/config.h>
  24. #include <nuttx/clock.h>
  25. #include "utils/utils.h"
  26. /****************************************************************************
  27. * Public Functions
  28. ****************************************************************************/
  29. /****************************************************************************
  30. * Name: net_dsec2tick
  31. *
  32. * Description:
  33. * Convert a decisecond value to a system clock ticks. Used by IGMP logic.
  34. *
  35. * Input Parameters:
  36. * dsec The decisecond value to convert
  37. *
  38. * Returned Value:
  39. * The decisecond value expressed as system clock ticks
  40. *
  41. ****************************************************************************/
  42. unsigned int net_dsec2tick(int dsec)
  43. {
  44. /* Convert the deci-second comparison value to clock ticks. The CLK_TCK
  45. * value is the number of clock ticks per second; decisecs argument is the
  46. * maximum delay in 100's of milliseconds. CLK_TCK/10 is then the number
  47. * of clock ticks in 100 milliseconds.
  48. */
  49. return CLK_TCK * dsec / 10;
  50. }