line_model_monitor.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * SpanDSP - a series of DSP components for telephony
  3. *
  4. * line_model_monitor.h - Model activity in a telephone line model, using the FLTK toolkit.
  5. *
  6. * Written by Steve Underwood <steveu@coppice.org>
  7. *
  8. * Copyright (C) 2004 Steve Underwood
  9. *
  10. * All rights reserved.
  11. *
  12. * This program is free software; you can redistribute it and/or modify
  13. * it under the terms of the GNU General Public License version 2, as
  14. * published by the Free Software Foundation.
  15. *
  16. * This program is distributed in the hope that it will be useful,
  17. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. * GNU General Public License for more details.
  20. *
  21. * You should have received a copy of the GNU General Public License
  22. * along with this program; if not, write to the Free Software
  23. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  24. */
  25. /*! \page line_model_monitor_page Telephone line model monitoring
  26. \section line_model_monitor_page_sec_1 What does it do?
  27. This code controls a GUI window, which provides monitoring of the internal status
  28. of a telephone line modem. It shows, graphically:
  29. - the spectrum of the received signal.
  30. - the line model in use (when a known line model is being used).
  31. - the adapted coefficients of the canceller.
  32. \section line_model_monitor_page_sec_2 How does it work?
  33. This code uses the FLTK cross platform GUI toolkit. It works on X11 and Windows platforms.
  34. In addition to the basic FLTK toolkit, fltk_cartesian is also required.
  35. */
  36. #if !defined(_LINE_MODEL_MONITOR_H_)
  37. #define _LINE_MODEL_MONITOR_H_
  38. #if defined(__cplusplus)
  39. extern "C"
  40. {
  41. #endif
  42. int start_line_model_monitor(int len);
  43. int line_model_monitor_can_update(const float *coeffs, int len);
  44. int line_model_monitor_line_model_update(const float *coeffs, int len);
  45. int line_model_monitor_line_spectrum_update(const int16_t amp[], int len);
  46. void line_model_monitor_wait_to_end(void);
  47. void line_model_monitor_update_display(void);
  48. #if defined(__cplusplus)
  49. }
  50. #endif
  51. #endif
  52. /*- End of file ------------------------------------------------------------*/