- for ( i = 0; i < TRANSITION_BYTES; ++i ) {
- float level = ( sin( (double) i * 2.0 * M_PI
- / (8000.0 / LO_FREQUENCY) ) )
- * ((double)i / TRANSITION_BYTES) / 2.0 + 0.5;
-
- /* Convert to unsigned byte */
- lo_dah[ i ] = (unsigned char) ( level * 255.0 ) ;
- }
-
- for ( i = TRANSITION_BYTES;
- i < DAH_SIZE - TRANSITION_BYTES - COUNT_SIZE;
- ++i ) {
- float level = ( sin( (double) i * 2.0 * M_PI
- / (8000.0 / LO_FREQUENCY) ) )
- / 2.0 + 0.5;
-
- /* Convert to unsigned byte */
- lo_dah[ i ] = (unsigned char) ( level * 255.0 ) ;
- }
- j = TRANSITION_BYTES;
- for ( int i = DAH_SIZE - TRANSITION_BYTES - COUNT_SIZE;
- i < DAH_SIZE - COUNT_SIZE;
- ++i ) {
- float level = ( sin( (double) i * 2.0 * M_PI
- / (8000.0 / LO_FREQUENCY) ) )
- * ((double)j / TRANSITION_BYTES) / 2.0 + 0.5;
- --j;
-
- /* Convert to unsigned byte */
- lo_dah[ i ] = (unsigned char) ( level * 255.0 ) ;
- }
- for ( int i = DAH_SIZE - COUNT_SIZE; i < DAH_SIZE; ++i ) {
- lo_dah[ i ] = (unsigned char) ( 0.5 * 255.0 ) ;
- }
+ make_tone( lo_dah, LO_FREQUENCY, DAH_SIZE - COUNT_SIZE, DAH_SIZE,
+ TRANSITION_BYTES );