Find Jobs
Hire Freelancers

Change a virtual null modem driver to corrupt data based on a set bit error ratio

$100-1000 USD

已取消
已发布将近 16 年前

$100-1000 USD

货到付款
Modify the source code from the com0com project at [login to view URL] This project currently implements a configurable virtual null modem between two COM ports. Add a feature, where a Bit Error Ratio, BER, see [login to view URL] can be configured between each installed virtual null modem. The default BER will be 0, i.e. a perfect link. The BER? can be set from the setup program in the project? as an additional option. When the BER is set, the corruption of bits will be random and statistically based on the set BER. The BER feature should be added without affecting any of the existing functionalities of com0com. This includes the its ability to run on Windows 2000, XP, Windows Server 2003, 64-bit Windows. When BER is 0 (default), ? the software should operate exactly like the original. A range of configurable BER should be supported from 0 to 1 (totally lossy), with a step of at least 0.01. Modifications should be made to the current version of com0com, v2.0.0.0. If the author of com0com releases a later version, there will not be a requirement to update the feature for the later version (although it would be very much appreciated). ## Deliverables * * *This broadcast message was sent to all bidders on Thursday Jun 5, 2008 3:37:07 PM: When you install com0com, you will see a setup program that allows the set up of virtual null modems. I want the BER feature to be included as an additional parameter. Type "help" in the setup program and you will know what I mean. I paste the help below: ------------------------------------------------- Enter 'help' to get info about usage of Setup for com0com. command> help Setup for com0com Usage: [options] Options: --output - file for output, default is console --detail-prms - show detailed parameters Commands: install - install a pair of linked ports with or identifiers CNCA and CNCB install (by default is the first not used number), set their parameters to and remove - remove a pair of linked ports with identifiers CNCA and CNCB disable all - disable all ports in current hardware profile enable all - enable all ports in current hardware profile change - set parameters for port with identifier list - for each port show its identifier and parameters preinstall - preinstall driver update - update driver uninstall - uninstall all ports and the driver quit Syntax of port parameters string: - - use driver's defaults for all parameters * - use current settings for all parameters =[,...] - set value for each parameter Parameters: PortName= - set port name to (port identifier by default) EmuBR={yes|no} - enable/disable baud rate emulation in the direction to the paired port (disabled by default) EmuOverrun={yes|no} - enable/disable buffer overrun (disabled by default) PlugInMode={yes|no} - enable/disable plug-in mode, the plug-in mode port is hidden and can't be open if the paired port is not open (disabled by default) ExclusiveMode={yes|no} - enable/disable exclusive mode, the exclusive mode port is hidden if it is open (disabled by default) cts=[!] - wire CTS pin to (rrts by default) dsr=[!] - wire DSR pin to (rdtr by default) dcd=[!] - wire DCD pin to (rdtr by default) ri=[!] - wire RI pin to (!on by default) The possible values of above can be rrts, lrts, rdtr, ldtr, rout1, lout1 (remote/local RTS/DTR/OUT1), ropen, lopen (logical ON if remote/local port is open) or on (logical ON). The exclamation sign (!) can be used to invert the value. Special values: - - use driver's default value * - use current setting Examples: install - - install 5 * * remove 0 install PortName=COM2 PortName=COM4 install PortName=COM5,EmuBR=yes,EmuOverrun=yes - change CNCA0 EmuBR=yes,EmuOverrun=yes list uninstall ------------------------------------------------- The command that I expect to type at the end of this project is probably something like the below: command> install PortName=COM2 PortName=COM3,EmuBR=yes,EmuOverrun=yes,BER=0.008 I would expect that after this, the data that is sent from COM3 to COM2 will be randomly corrupted (bit inverted) with a statistic of 8 bit errors for every 1000 bits. BER means transmit BER only. Hence data from COM2 to COM3 will be lossless as this is the default. If I want corruption both ways, I would specify as so: command> install PortName=COM2,BER=0.005 PortName=COM3,EmuBR=yes,EmuOverrun=yes,BER=0.008 You will notice that I have added other options EmuBR and EmuOverrun. This is meant to highlight that existing options must still be avialable and unaffected by your changes. Therefore, if a program sends data from COM3 at rates beyond that allowed by the baud rate which it is opened, the data will be lost due to buffer overrun as in the original implementation. This is over and above the BER that we would expect. **Also, I wish to post a small correction. The BER shall be configurable in steps of 0.001, instead of 0.01 as in the bid. It means the least lossy response will be 1 bit error for each 1000 bits.**
项目 ID: 3957718

关于此项目

5提案
远程项目
活跃16 年前

想赚点钱吗?

在Freelancer上竞价的好处

设定您的预算和时间范围
为您的工作获得报酬
简要概述您的提案
免费注册和竞标工作
5威客以平均价$594 USD来参与此工作竞价
用户头像
See private message.
$85 USD 在40天之内
4.4 (67条评论)
5.2
5.2
用户头像
See private message.
$679.15 USD 在40天之内
4.9 (39条评论)
4.8
4.8
用户头像
See private message.
$850 USD 在40天之内
5.0 (11条评论)
3.8
3.8
用户头像
See private message.
$425 USD 在40天之内
5.0 (3条评论)
1.5
1.5
用户头像
See private message.
$850 USD 在40天之内
0.0 (1条评论)
0.0
0.0
用户头像
See private message.
$760.75 USD 在40天之内
0.0 (2条评论)
0.0
0.0

关于客户

SINGAPORE的国旗
Singapore
0.0
0
会员自6月 3, 2008起

客户认证

谢谢!我们已通过电子邮件向您发送了索取免费积分的链接。
发送电子邮件时出现问题。请再试一次。
已注册用户 发布工作总数
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
加载预览
授予地理位置权限。
您的登录会话已过期而且您已经登出,请再次登录。